我创建了一个代码,用于检查我的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中是否有行,如果条件为true,则迭代DataGrid的元素。
现在的问题是我将网格项与属性&#34; name&#34;进行比较。读者。 reader
是读取查询结果元素(sqlite)的变量。
如果已添加元素,还有另一种方法可以检查我的DataGrid的列名吗?
答案 0 :(得分:1)
您的商品属于&#34; Teams.Club_Information&#34;,但您将它们与读者[&#34; name&#34;]进行比较,这是一个字符串。除非您编写了一个将Club_Information.name与字符串进行比较的Equals方法,否则比较将始终失败。
尝试改为:
if (((Teams.Club_Information)grid.Items[i]).name == reader["name"])
答案 1 :(得分:1)
你可以做这样的事情
if(grid.Items.Contains(reader["name"]))
{
MessageBox.Show("team already added");
}
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()
});
}
答案 2 :(得分:1)
load