我做了一个代码,检查我的DataGrid中是否已经存在一个特定的元素。 如果元素已经添加到DataGrid中,则该代码会向用户显示一个弹出窗口。这是代码:如何检查数据网格中是否已经存在一个元素
if (grid.Items.Count > 0)
{
for (int i = 0; i < grid.Items.Count; i++)
{
if (((Teams.Club_Information)grid.Items[i]).name == reader["name"].ToString())
{
MessageBox.Show("La squadra è già stata inserita!");
}
else
{
MainWindow.AppWindow.Squadre_DataGrid.Items.Add(new Teams.Club_Information
{
name = reader["name"].ToString(),
code = reader["code"].ToString(),
shortName = reader["shortName"].ToString(),
squadMarketValue = reader["SquadMarketValue"].ToString()
});
}
}
}
else
{
MainWindow.AppWindow.Squadre_DataGrid.Items.Add(new Teams.Club_Information
{
name = reader["name"].ToString(),
code = reader["code"].ToString(),
shortName = reader["shortName"].ToString(),
squadMarketValue = reader["SquadMarketValue"].ToString()
});
}
在第一个条件我检查是否有行的DataGrid中,如果条件为真,那么我通过DataGrid的元素进行迭代。 现在的问题是,我比较一个网格项目与属性“名称”的读者。 reader
是查询结果元素的读取变量(sqlite)。 还有另一种方法来检查我的DataGrid的列名称,如果该元素已被添加?
我看不到。名称变量中的条件 –
您需要一种方法来比较你的读者[“name”]字符串值添加到您的Club_Information对象。您是否考虑过将公开名称属性添加到您的Club_Information类中,这会暴露名称值?看来你目前还没有办法将你的俱乐部的名字与你在读者中获取的名字进行比较。 – Wibbler
只是将该物品投射到实际类型: 'var item =(Teams.Club_Information)grid.Items [i];如果(item.name == reader [“name”])' – Liero