110,533
社区成员
发帖
与我相关
我的任务
分享
IList<Hole> list = new List<Hole>((BindingList<Hole>)dgvControlledDepthDrilling.DataSource);
private BindingList<Hole> bindingListHoles;
private void Update()
{
var list = new List<Hole>();
for (int i = 0; i < 10; i++)
{
Hole Hole = new Hole();
hole.Index=i;
hole.Name="H"+i;
list.Add(hole);
}
bindingListHoles = new BindingList<Hole>(list);
dgv.DataSource = bindingListHoles;
}
我希望在改变combobox时进行筛选,但下面代码有问题,导致dgv中无任何内容。请问如何修改?
//改变cmbName时对dgv中的数据重新筛选
private void cmbName_SelectedIndexChanged(object sender, EventArgs e)
{
string cmbName = cmbName.Text.Trim();
var list = BindingListToList();
if (cmbName == "All" || cmbName == string.Empty)
{
dgv.DataSource = bindingListHoles.OrderBy(h => h.Index);
}
else
{
var query = bindingListHoles.Where(h => h.Name == cmbName).OrderBy(h => h.Index);
dgv.DataSource = query;
}
}
而且还有一个问题,程序需要按Name进行筛选,无论是列出全部或部分数据,我都希望dgv中的改变完整的反映在bindingListHoles里面,这样是否可行?