Я использовал .Net framwork 4.0 с компонентом приложения WinForm DataGridView
и установить DataSource
с DataTable
.Затем есть кнопка, чтобы добавить строку в DataGridView
.DataTable выберите с Linq и проверки есть повторяющиеся строки или не
Этот код нравится.
gridTable = (DataTable)dgrMainGrid.DataSource;
DataRow dr = gridTable.NewRow();
Перед добавлением новой строки в DataTable Я проверил, есть ли дубликат row.To делать, что я использовал этот LINQ
запрос.
//Item Code cannot duplicate
var results = from itmCode in gridTable.AsEnumerable()
where (itmCode.Field<string>("Item Code") == txtGrdItmLoc.Text)
select itmCode;
Там после того, как я проверяю дублирующие строки доступны или нет в таблице данных?
if(//doWhatever function here){
//if there's duplicate row values
isNotDuplicate = false;
}
else{
isNotDuplicate=true;
}
Перед пойти следующий шаг Мне нужно, чтобы получить есть дубликат или нет, и установить его в isNotDuplicate переменного или подобную вещь, чтобы проверить это., поэтому я считаю, что подсчитывать строки results
, но нет такой функции, чтобы считать «var results», любую возможность сделать это?
if (!isDuplicate)
{
dr["#"] = true;
dr["Item Code"] = lSysItemCode;
dr["Stock Code"] = txtGdrItmItemLoc.Text;
dr["Brand"] = txtGrdItmBrand.Text;
dr["Model No"] = cmbGrdItmModel.SelectedValue.ToString();
gridTable.Rows.Add(dr);
dgrMainGrid.DataSource = gridTable;
}
I can use
for loop
withDataTable
and check whether it's contain new value that equals to "Item Code" but I looking alternative method with linq.
Просто я ищу замену для этого с помощью LINQ.
foreach (DataRow r in gridTable.Rows) {
if (r["Item Code"].ToString() == txtGrdItmLoc.Text) {
isDuplicate = true;
}
}
Sample Project : http://1drv.ms/1K4JnHt
Sample Code : http://pastebin.com/v7NMdUrf
'gridTable.AsEnumerable() GroupBy (г = > g.Field («Код товара»)). Где (g => g.Count()> 0) 'Вернет вам дубликаты. –
Rob
Duplicate as in ..? Все строки с одинаковым «Код товара»? –
Когда я добавил новый элемент. Мне нужно проверить этот элемент уже в столбце таблицы данных «Код товара» – Elshan