У меня есть DataTable, из которого я хотел бы перебирать каждую строку и столбец, а затем выбирать значение из определенного столбца в зависимости от других значений в столбцах/каждой строке.Пройти через DataTable и выбрать только определенные значения в столбце
Мой код в настоящее время выглядит следующим образом:
foreach (DataRow drow in dt.Rows)
{
foreach (DataColumn dcol in dt.Columns)
{
foreach (var Item in ImportData)
{
if (Item.Value.Equals(true))
{
if (Item.Key.Equals("" + dcol))
{
string value = drow[dcol].ToString();
if (value.Equals("X"))
{
outDraws += drow["Drawing"].ToString();
outDraws += "\n";
}
}
}
}
}
}
ImportData является Dictionary<string, bool>
, который содержит данные, которые я хочу, чтобы сравнить с моим DataTable.
string outDraws
- это просто строка, которая должна содержать содержимое чертежей, которые я хочу распечатать.
Моя проблема в том, что я хочу распечатать содержимое в столбце «Рисование» строки, где все столбцы с тем же именем, что и ключи в ImportData, имеют значение «Х» в качестве значения. На данный момент я получаю все строки, где любой из столбцов имеет значение «Х» как значение и имеет то же имя, что и любой ключ в ImportData.
Я понимаю, что вам будет очень сложно получить то, что я хочу сделать, но, пожалуйста, спросите, нужна ли вам дополнительная информация, и я постараюсь предоставить.
Большое спасибо заранее.
Edit:
ImportData содержит название различных продуктов в качестве ключей. Эти продукты либо были выбраны, либо нет клиентом через другую программу, если они были выбраны, они имеют значение true, и если они не выбраны, они имеют значение false.
С помощью метода, представленного выше, я хотел бы сравнить ВСЕ ключи, которые имеют значение true с именами столбцов в DataTable. Если имя столбца соответствует ключу в ImportData (который является именем продукта), то я хочу проверить, имеет ли этот столбец в определенной строке значение «X».
Это продолжается для ВСЕХ ключей в ImportData, и в конце я должен знать, какая строка в DataTable имеет «X» во всех столбцах с тем же именем, что и ключи в ImportData. Для этой строки я хотел бы получить содержимое столбца «Рисование». Так для примера сказать, что ImportData содержит:
[Мотор, правда] [Product6, правда] [Product7, правда]
Тогда я хотел бы, чтобы распечатать чертеж колонки в строке 6.
К сожалению, я не могу размещать фотографии ..
Затем проверьте только колонку чертежа, а не все столбцы? – BugFinder
Я хотел бы проверить все столбцы и только там, где есть «X» для всех столбцов с тем же именем, что и ВСЕ ключи в ImportData. Я хотел бы распечатать столбец чертежа – Oliver
Пожалуйста, объясните более подробно, что содержит ImportData, что находится в таблице данных и чего вы хотите достичь. Возможно, добавьте простой, но полный образец, который компилируется как консольное приложение. – jeroenh