我正在使用Json用BindingSource方法填充DataGridView。随着我的前进,我想知道为什么当根据我的where语句没有选择任何值时,行数为什么仍然为1。请帮助我。
这是我的示例代码:
public void JsonPopulateDGV(string JsonDir, int partsId, string fileName)
{
string json = File.ReadAllText(JsonDir);
var jSectionCollection = JsonConvert.DeserializeObject<JSectionCollection>(json) ?? new JSectionCollection();
BindingSource src = new BindingSource();
src.DataSource = jSectionCollection.JSections.Where(x => x.PartsId == partsId).Where(s=>s.FileDir == fileName);
dataGridSections.DataSource = src;
Console.WriteLine(src.Count);
}
答案 0 :(得分:1)
您需要通过调用Where
或ToArray
来执行ToList
。您还可以将两个where语句合并为一个:
src.DataSource = jSectionCollection.JSections
.Where(x => x.PartsId == partsId && x.FileDir == fileName)
.ToList();