Я сделал код, который проверяет, существует ли в моем DataGrid определенный элемент. Если элементы уже добавлены в 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 переменного в состоянии –
Вам нужен способ, чтобы сравнить читатель ["name"] для вашего объекта Club_Information. Рассматривали ли вы добавление общедоступного свойства Name в свой класс Club_Information, который будет показывать значение имени? Похоже, что в настоящее время у вас нет способа фактически сравнить имя вашего Клуба с именем, которое вы получаете в своем читателе. – Wibbler
просто отбрасывает объект до фактического типа: 'var item = (Teams.Club_Information) grid.Items [i]; Если (item.name == reader ["name"]) ' – Liero