У меня есть таблица данных, как показано ниже
StudentID Marks
AAA NULL
AAA 100
BBB 200
Мне нужно удалить строку из таблицы данных, проверив studentID в условии, что
- Если есть тот же идентификатор studentID, удалите строку со значением NULL и отображать только идентификатор студента со значением.
- Если обе оценки этого ученика равны NULL, тогда отображается только одна строка.
Результирующая Datatable должна быть
StudentID Marks
AAA 100
BBB 200
Я попытался удалить повторяющиеся строки из в таблице выше с использованием функции ниже
public DataTable RemoveDuplicateRows(DataTable dTable, string colName)
{
Hashtable hTable = new Hashtable();
ArrayList duplicateList = new ArrayList();
//Add list of all the unique item value to hashtable, which stores combination of key, value pair.
//And add duplicate item value in arraylist.
foreach (DataRow drow in dTable.Rows)
{
if (hTable.Contains(drow[colName])&& drow["Marks"]==null)
{
duplicateList.Add(drow);
}
else
{
hTable.Add(drow[colName], string.Empty);
}
}
//Removing a list of duplicate items from datatable.
foreach (DataRow dRow in duplicateList)
dTable.Rows.Remove(dRow);
//Datatable which contains unique records will be return as output.
return dTable;
}