• atwiki
  • lele @Wiki
  • [.Net DataGrid DB検索結果にCheckBoxをプラスして表示]の変更点

「.Net DataGrid DB検索結果にCheckBoxをプラスして表示」の編集履歴(バックアップ)一覧はこちら

.Net DataGrid DB検索結果にCheckBoxをプラスして表示」(2006/06/28 (水) 19:11:08) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

いろいろ方法はあると思うけど、今回やった方法をまとめます。 やること: 1.DB検索結果をDataGridに表示 2.ID列は非表示 3.一番左に行選択用のチェックボックスを表示 やったこと: <DataSet(xsd)>  1.DataSetクラスを追加し、検索結果内容+チェックボックスをxsdに登録。(テーブルエレメント名をeletblとする)   チェックボックスは type="xs:boolean" とする <Formデザイナ>  2.FormにデザイナでDataSetを型指定されたデータセットで1を選んで追加(データセット名をdsとする)  3.FormにデザイナでDataGridを追加し、プロパティ設定 DataSource=ds, DataMemeber=eletbl <DataGridTableStyle コレクションエディタ>  4.プロパティTableStylesの「...」ボタンクリック。「追加」→「OK」。再度プロパティTableStylesの「...」ボタンクリック  5.追加したメンバを選択し、MappingNameにeletblを設定  6.GridColumnStyleの「...」ボタンクリック <DataGridColumnStyle コレクションエディタ>  7.検索カラム数 DataGridTextBoxColumnを追加。それぞれMappingNameにカラム名を設定。    チェックボックスはDataGridBoolColumnで追加。タイトル文字もここで入れる  8.IDカラムのwidth=0 <DB検索>  9.検索のSelect句にダミーのチェックボックス列を含める。  10.結果のDataSetの中身をDataGridのDataSourceに列コピー 'DataGridにコピー(DataGridのスタイルを変更しないようにするため) Dim srcdt As DataTable = resultDataSet.Tables(0) Dim ds As DataSet = CType(Me.DataGrid1.DataSource, DataSet) Dim dt As DataTable = ds.Tables(0) dt.Clear() Dim dr As DataRow For Each dr In srcdt.Rows dt.ImportRow(dr) Next <チェック行の取得> Dim dt As DataTable = CType(Me.DataGrid1.DataSource, DataSet).Tables(0) Dim dr As DataRow For Each dr In dt.Rows If (dr("check列名")) Then rowsList.Add(dr) End If Next

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
目安箱バナー