• atwiki
  • lele @Wiki
  • .NET DataGrid ソートのイベントの編集履歴ソース
「.NET DataGrid ソートのイベント」の編集履歴(バックアップ)一覧に戻る

.NET DataGrid ソートのイベント - (2006/06/21 (水) 16:02:22) のソース

<p>
DataGridでキー一覧を表示し、選択行のデータを表示するアプリを作成。<br>

DataGridのタイトル行をクリックすると勝手に一覧がソートされるのだが、選択行は変わらない=選択データが変わる。</p>
<p>
DataGridにはなぜかソートに関するイベントがない。いろいろ調べた結果、これで解決した。<br>
</p>
<p>  ' フォームロード(初期化)<br>
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load<br>
    '
CurrentManagerのCurrentChangedイベント追加.(選択セル変更やソートのイベント)<br>

    Dim cm As CurrencyManager =
CType(DataGrid1.BindingContext(DataGrid1.DataSource), CurrencyManager)<br>
    AddHandler cm.CurrentChanged, AddressOf
CurrencyManager_CurrentChanged<br>
    cm.Position = 0</p>
<p>    ShowData((0)<br>
  End Sub<br>
<br>
  ' 選択セル変更・ソート<br>
  Private Sub CurrencyManager_CurrentChanged(ByVal sender As Object, ByVal e
As System.EventArgs)<br>
    ShowData((DataGrid1.CurrentCell.RowNumber)<br>
  End Sub</p>
<p>  '選択データ表示<br>
  Private Sub ShowData(ByVal index As Integer)<br>
<br>
    Dim cm As CurrencyManager =
CType(DataGrid1.BindingContext(DataGrid1.DataSource), CurrencyManager)<br>
    Dim dv As DataView = CType(cm.List, DataView)</p>
<p>    MsgBox(dv.Item(index)(0));</p>
<p>  End Sub<br>
<br>
<br>
参考<br>
<a href=
"http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11209&amp;forum=7">http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11209&amp;forum=7</a></p>
記事メニュー
目安箱バナー