0
我試圖得到一個列的重複值的datatable
是Duplicate Values Not Allowed
比較比Lambda表達式當前的指數只有不到索引記錄
另一列對於我分組的datatable
顯示錯誤消息列和檢查存在重複或不喜歡下面
DataTable dt = new DataTable();
dt.Rows.Cast<DataRow>().ToList().ForEach(r => checkValidation(r, i++));
private void checkValidation(DataRow Row, int RowId)
{
if ((dt.Rows.Cast<DataRow>().ToList().GroupBy(r => r[colName]).SelectMany(dup => dup.Skip(1))).Count() > 0)
{
Row["Error List"] += "Duplicate Values Not Allowed";
}
}
這裏的問題是,它會給出錯誤信息所有有重複的值,如下行
Name Error List
---------- ----------
Test Upload Duplicate Values Not Allowed
Test Upload Duplicate Values Not Allowed
,但我要的是
Name Error List
---------- ----------
Test Upload
Test Upload Duplicate Values Not Allowed
爲了得到它,我們只能比較比目前的指數不太索引行。但如何使用lambda表達式來做同樣的事情。
'dt.Rows.Cast().GroupBy(R => R [ 「名稱」])。當(G => g.Count()> 1).SelectMany(G => g.Skip ( 1))'你是指這個? –
Vallabha
如果你打算把它寫成一行,那麼你可以跳過'Where(g => g.Count()> 1)',因爲Skip(1)'有效地做同樣的事情。 –
我遍歷數據表並寫入錯誤列表列,這是重複的。看到編輯的問題。 – Vallabha