- - PR -
DataGridコントロールのソートについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-03 15:07
WindowsフォームにDataGridコントロールを貼り付けて
DBの内容を表示させるようにしました DataGrid内の任意の行をクリックした時、一番左のセルの値を 取得するために次のようなソースを書きました --------------------------------------------------- Private Sub DataGrid1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.Click Try Dim dtSet As DataSet = CType(DataGrid1.DataSource, DataSet) Dim dtTbl As DataTable = dtSet.Tables(DataGrid1.DataMember) Me.sKey = dtTbl.Rows(DataGrid1.CurrentCell.RowNumber).Item(0).ToString() Catch ex As Exception ' End Try End Sub --------------------------------------------------- この状態で、行をクリックするとプロパティ(sKey)に値がSETされます ここで1つ問題がありまして。 DataGridの列見出しをクリックするとソートしてくれるのは すごく便利なのですが、ソートした後、同じように行をクリックすると 正常な値をとれなくなってしまいます。 どうも、ソート前の状態を取得しているようなのですが。 取得方法に問題があるのでしょうか・・・・ |
|
投稿日時: 2005-12-03 16:18
こんにちは。
DataGrid の見た目がソートされていようと、DataTable はソートされないからです。 DataGrid のインデクサならば、目的の要件を満たせるのではないでしょうか。 _________________ 囚人のジレンマな日々 |
|
投稿日時: 2005-12-03 23:23
DataGrid内の『セルの値』を取得したいだけなら、
DataTableなど気にせずに、DataGrid1(row, col)でセルの値を 取得すれば良いだけなのでは? またDataGridに関連付いているDataSourceからデータを取得したいのなら DOBON.NETで公開されている『DataGridの現在の行を正しく取得する』が ズバリなのではないでしょうか? ttp://dobon.net/vb/dotnet/datagrid/currentrow.html |
1