متد Contains فقط بر اساس Header گروه ها جستجو نمی کنه، به همین دلیل، گروه مربوطه رو پیدا نمی کنه.
می تونید از متد زیر استفاده کنید:
private ListViewGroup ExistGroup(string strGName)
{
foreach (ListViewGroup lvg in listView1.Groups)
if (lvg.Header == strGName)
return lvg;
return null;
}
و کدتون رو به صورت زیر تغییر بدید:
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow drow = dt.Rows[i];
lvg = ExistGroup(drow["Group_Title"].ToString());
if (lvg==null)
{
lvg = new ListViewGroup(drow["Group_Title"].ToString());
listView1.Groups.Add(lvg);
}
lvi = new ListViewItem(drow["Item_title"].ToString(), lvg);
listView1.Items.Add(lvi);
}