2015-01-07 5 views
0

Здесь моя веб-страница содержит uploadbutton и текстовое поле. Когда я загружаю один файл Excel, он содержит имя и контакты, хранящиеся в Datatable после ввода какого-либо целочисленного значения в текстовое поле, значение текстового поля будет добавляться ко всем полям столбца контактов в Datatable. Вот я пишу код, но он показывает фактическое значение DataTable Data.textbox не будет добавлять к нему ..Как добавить значение текстового поля в значение столбца Datatable?

public void countrycode(DataTable dt,string colname,string str) 
{ 

foreach (DataColumn dc in dt.Columns) 
{ 
    for (int i = 0; i < dt.Columns.Count; i++) 
    { 
     str += i;    
    } 
    dt.AcceptChanges(); 
} 

} 
+0

Это не ясно, что вы пытаетесь достичь. Код, который вы пробовали, просто создает новые локальные строки, зацикливая столбцы в таблице, что довольно бессмысленно. –

+0

Когда я ввожу любое значение в текстовое поле, значение текстового поля будет добавлено к значениям Datatable contacts – Raamraj

+0

Итак, у вас есть _one_ column 'Contacts' и вы хотите заменить значение в этом поле каждой строки, добавив' str' в конец? –

ответ

0

Если у вас есть один столбец Contacts, и вы хотите, чтобы заменить значение в этой области каждого ряд, добавив str до конца, вы должны петли строки а не столбцы:

foreach(DataRow row in dt.Rows) 
{ 
    row.SetField("Contacts", row.Field<string>("Contacts") + str); 
} 

Если имя столбца является динамическим и вы действительно не хотите добавить, но предварять его как предложено ваши комментарии используйте этот код :

foreach(DataRow row in dt.Rows) 
{ 
    row.SetField(columnName, str + row.Field<string>(columnName)); 
} 

Если вы не можете использовать DataRowExtensions.Field вы также можете использовать индексацию:

foreach(DataRow row in dt.Rows) 
{ 
    row[columnName] = row.IsNull(columnName) ? str : str + row[columnName].ToString(); 
} 
+0

здесь у меня есть два столбца Имя и контакты – Raamraj

+0

@Raamraj: и вы также хотите изменить поле «Имя»? Если имя столбца является динамическим, замените «Контакты» 'с именем переменной, например' colname'. –

+0

System.Data.DataTable 'не содержит определения для «Поле» и наилучшего метода перегрузки «System.Data.DataRowExtensions.Field (System.Data.DataRow, string)» имеет некоторые недопустимые аргументы – Raamraj

Смежные вопросы