私はDataBaseから取得するグループとアイテムを含むWindowsフォームでListViewを作成しようとしています。私のリストビューが初めでは、「lstItems」C#ウィンドウのListViewにグループとアイテムを追加する
と呼ばれる
、ListViewコントロールが空であると私はプログラムのrunnig中のデータとそれを埋めます。
これは私がグループを作成するために使用するコードです:
foreach(DataRow r in tasksTbl.Rows)
{
string groupName = "group" + num;
num++;
lstItems.Groups.Add(groupName, r.Field<string>(0));
}
tasksTblテーブルが空ではありません、それは私がこの時点で画面に表示することはできませんいくつかのグループを作成します。
これは私のグループのためのアイテムとサブアイテムを作成するために使用するコードである:
private void CreateItem(DataTable tbl)
{
int taskId = tbl.Rows[0].Field<int>(0);
string taskName = tbl.Rows[0].Field<string>(1);
DateTime startDate = tbl.Rows[0].Field<DateTime>(2);
DateTime endDate = tbl.Rows[0].Field<DateTime>(3);
string dateStr = startDate.ToString() + " - " + endDate.ToString();
ListViewItem item = new ListViewItem(dateStr);
item.Tag = taskId.ToString();
foreach (DataRow r in tbl.Rows)
{
string position = r.Field<string>(5);
string soldier = r.Field<string>(6);
item.SubItems.Add(soldier + " (" + position + ")");
}
foreach(ListViewGroup grp in lstItems.Groups)
if (grp.Header.Equals(taskName))
grp.Items.Add(item);
}
ここでもTBLテーブルが空でないと、それは、各グループにアイテムとサブアイテムを作成します。
デバッガで、グループに項目が適切に表示されていることがわかります。
私の問題は、画面上にグループやアイテムが表示されないことです。
私には何が欠けていますか?
誰かが私に手を差し伸べることはできますか?
ありがとうございます!
画面上には?デバッガウォッチウィンドウでは? – Rahul
画面上でアイテムが一切表示されませんでした。私がdebbugerのコードでブレークポイントを使うと、私はそのグループのproprtiesの中のアイテムを見ることができました。 –
グループをLustViewItemプロパティグループに割り当てる必要があります。 https://msdn.microsoft.com/en-us/library/ezh1batz(v=vs.110).aspxを参照してください。 –