2016-04-20 5 views
3

У меня есть дата. Мне нужно получить определенное значение столбца на основе ввода пользователя. Например, позволяет сказать, что DataTable имеет три колонки intpkdata, intFrom, intTo Вот мой некоторый код,Выберите значение между двумя столбцами из datatable

   drCurrentRow = dtCurrentTable.NewRow(); 
       drCurrentRow["intpkdata"] = new Random().Next(0, 99999).ToString(); 
       drCurrentRow["intFrom"] = txtFrom.Text; 
       drCurrentRow["intTo"] = txtTo.Text; 

       dtCurrentTable.Rows.Add(drCurrentRow); 
       ViewState["Pcidata"] = dtCurrentTable; 
       gdvpciData.DataSource = dtCurrentTable; 
       gdvpciData.DataBind(); 

Требование:

если intFrom/intTo данные уже существуют в DataTable, то сообщ должен прийти. Отвод видеть изображение для записей

enter image description here

+0

Возможный дубликат [Как получить данные между двумя столбцами в DataTable?] (Http://stackoverflow.com/questions/34786195/how-to-get-data-between-two- column-in-datatable) –

ответ

2

попробовать это

string fromValue = "some value"; 
string toValue = "some value"; 

if(dtCurrentTable.AsEnumerable().Any(row => fromValue == row.Field<string>("intFrom") && toValue == row.Field<string>("intTo"))) 
{ 
//exists 
} 

увидеть это Ques. Check if value exists in dataTable?

Check if String/Record exists in DataTable

+0

Я получаю эту ошибку «\t Оператор '==' не может применяться к операндам типа 'string' и 'int' ' –

+0

Что такое тип данных' intFrom'? –

+0

@ImranAzam См. Мое редактирование –

0

Пусть txtFrom и txtTo быть два значения, которые должны быть проверены в intFrom и intTo столбцов соответственно (при условии, что они имеют значения 10 и 30). Таким образом, условие фильтра будет следующим, если счет > 0 означает, что в таблице есть такие строки, которые могут быть напечатаны.

string txtFrom = "10"; 
string txtTo = "30"; 
if (dtCurrentTable.AsEnumerable().Where(row => row.Field<string>("intFrom") == txtFrom && row.Field<string>("intTo") == txtTo).Count() > 0) 
{ 
    // Display message here that it already exist 
} 
0

Проверить этот код ....

{ 

    String strName = "name"; 

    bool contains = dtCurrentTable.AsEnumerable().Any(row => strName == row.Field<String>("intFrom")); 

    String strName2 = "name"; 

    bool contains2 = dtCurrentTable.AsEnumerable().Any(row => strName2 == row.Field<String>("intTo")); 

    if (contains && contains2) 
    { 
     // Do your code 
    } 
} 
Смежные вопросы