Я работаю над приложением формы Windows. Как мне использовать метод find для datatable, чтобы найти строку, если datatable имеет составной ключ?
Структура таблицы Столбец A, столбец B, столбец C
Col A и Col B составляют составной ключ. Я хочу найти строку, в которой значение в столбце A равно 6, а в столбце B - 5.





Когда вы «устанавливаете» первичный ключ таблицы данных, значение параметра представляет собой массив столбцов данных ...
если ваша таблица данных находится в переменной dt ...,
dt.PrimaryKey = new DataColumn[] {dt.Columns["ColA"], dt.Columns["ColB"]};
Затем передайте массив значений объекта в метод Find ()
object[] keyVals = new object[] {6, 5};
DataRow dr = dt.Rows.Find(keyVals);
или просто
DataRow dr = dt.Rows.Find(new object[] {6, 5});
Существует перегрузка, которую можно использовать для передачи двух разных значений методу find. Вот документ MSDN.
Так что вы, скорее всего, будете делать что-то вроде.
DataTable.Rows.Find(6,5)
Да, текст в MSDN - это опечатка ... возвращаемое значение - один объект DataRow
Это я или я неправильно читаю этот документ? В нем говорится, что возвращаемое значение - это массив объектов DataRow, но это не так.