C# 如何将Textbox值附加到Datatable列值?
这里我的网页包含上传按钮和文本框。当我上传一个Excel文件时,它包含姓名和联系人,并存储在Datatable中。在Textbox中输入任何整数值后,Textbox值将附加到Datatable中联系人列的所有字段中。 这里我写了一些代码,但它显示了实际的DATAtable数据。textbox值不会附加到它C# 如何将Textbox值附加到Datatable列值?,c#,datatable,C#,Datatable,这里我的网页包含上传按钮和文本框。当我上传一个Excel文件时,它包含姓名和联系人,并存储在Datatable中。在Textbox中输入任何整数值后,Textbox值将附加到Datatable中联系人列的所有字段中。 这里我写了一些代码,但它显示了实际的DATAtable数据。textbox值不会附加到它 public void countrycode(DataTable dt,string colname,string str) { foreach (DataColumn dc in dt
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();
}
}
public void countrycode(DataTable dt、string colname、string str)
{
foreach(数据列dc在dt.列中)
{
对于(int i=0;i
如果您有一列联系人
,并且希望通过在末尾添加str
来替换每行该字段中的值,则必须循环行而不是列:
foreach(DataRow row in dt.Rows)
{
row.SetField("Contacts", row.Field<string>("Contacts") + str);
}
现在还不清楚你想要实现什么。您尝试的代码只是通过循环表中的列来创建新的本地字符串,这是毫无意义的。当我在textbox中输入任何值时,textbox值将附加到Datatable contacts Values中。您有一列
contacts
,您希望通过添加str
来替换每行该字段中的值到结尾?联系人:9988995599当我在文本框中输入91时,9988995599值应替换为919988995599,因此您不想附加它(添加到结尾),而是在它之前添加它(之前)?这里我有两列名称和名称Contacts@Raamraj:您还想更改名称
字段吗?如果列名是动态的,则用变量名替换“Contacts”
,例如colname
.System.Data.DataTable'不包含'Field'的定义和最佳扩展方法重载'System.Data.DataRowExtensions.Field(System.Data.DataRow,string)“有一些是无效的arguments@Raamraj:您使用的是什么框架?是数据行的扩展方法。要使用它,您必须至少使用.NET 3.5,并且必须添加对System.Data.DataSetExtensions.dll的引用。我再次编辑了答案,以提供另一种选择。
foreach(DataRow row in dt.Rows)
{
row.SetField(columnName, str + row.Field<string>(columnName));
}
foreach(DataRow row in dt.Rows)
{
row[columnName] = row.IsNull(columnName) ? str : str + row[columnName].ToString();
}