保守しているシステムにデータグリッドビューではなくリストビューが使われていることがあります。
ただ、SQLで取得したDatatableをセットする方法がデータグリッドビューとは全く異なります。
Datatableをデータグリッドビューにセットする方法は意外と簡単ですが、
それに慣れていると少し面食らってしまうので、
データグリッドビューと比較しつつ備忘録として残しておこうと思います。
※因みにDatatableをデータグリッドビューにセットする方法これだけです。
dataGridView.DataSource = Datatable;
ListViewにDatatableをセットするソース
C#のサンプルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
public void setListViewItems(ListView targetLstv, DataSet dsDataSource) { //データのソースとなるDataSet DataRow drDataSource = new DataTable().NewRow(); drDataSource = dsDataSource.Tables[0].NewRow(); //ListViewItemをインスタンス化 ListViewItem lstvwItems = new ListViewItem(); //テーブルにデータがある場合、リストビューにデータをセット if (dsDataSource.Tables[0].Rows.Count > 0) { //データテーブルのレコード分ループ for (int i = 0; i; dsDataSource.Tables[0].Rows.Count - 1; i++) { //データソースの一行を格納 drDataSource = dsDataSource.Tables[0].Rows[i]; //データテーブルの列数分ループ(列ごとに縦にデータをセットする) for (int j = 0; j; dsDataSource.Tables[0].Columns.Count; j++) { //メインアイテムを設定(リストビュー上の1レコード目) if (j == 0) { lstvwItems = targetLstv.Items.Add(drDataSource[j].ToString()); } //サブアイテム設定(リストビュー上の2レコード目) else { lstvwItems.SubItems.Add(drDataSource[j].ToString()); } } } } } |
VBは以下のようにセットできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
If dsResult.Tables(0).Rows.Count > 0 Then For i As Integer = 0 To dsResult.Tables(0).Rows.Count - 1 For j As Integer = 0 To Me.Columns.Count - 1 If j = 0 Then 'アイテムを追加 Me.Items.Add(dsResult.Tables(0).Rows(i).Item(0).ToString, i) Else 'サブアイテムを追加 Me.Items(i).SubItems.Add(dsResult.Tables(0).Rows(i).Item(j).ToString) End If Next Next End If |
リストビューの補足説明
リストビューとデータグリッドビューとの違いは、ItemsとSubItemsがあるところですね。
1レコード目はItemsに対して値をセットし、
2レコード名以降はSubItemsに値をセットしていく処理になります。
データグリッドビューのようにDataSourceをセットして終わりではありません。
データグリッドビュー(DatagridView)とリストビュー(ListView)の違いは?
そもそもの話なのですが、
「データグリッドビューとリストビューを使い分ける必要があるの?」
と思われる方も多いと多いかと思います。
機能的な違いは、処理の軽さにあります。
一般的にはDataGridよりもListViewの方が軽量
とされていて、メモリの消費量がListViewの方が軽いようです。
確かに私の保守していたアプリケーションでも表示するレコード数が
業務によっては数千件になることがあり得るのでリストビューが使われていることにも納得です。
C#アプリ開発 メールお知らせアプリ
開発案件の経験は2案件ほどで、ほとんど経験ありません。
そんな私が独学でプログラミングの勉強をしてきました。
そこで...
おすすめのプログラミングスクール めざせ就職・年収アップ!
プログラミングを独学でされている人は意外と多いです。
ただ、プログラミングの独学は簡単にはいきません。
自分だけの力...
プログラミングの独学とはエラーとの闘い
プログラミングを勉強し始めた初心者の方はつまづくことが多いと思います。
私も最初はエラーが出るたびにいちいちビビッて、意味...