C# 如何编辑datatable中列的行值

C# 如何编辑datatable中列的行值,c#,datatable,C#,Datatable,我使用以下方法获得了datatable的值 DataTable table = new DataTable(); table = GetTable(); string expression; expression = "B.Id = " + textBox1.Text; DataRow[] foundRows; foundRows = table.Select(expression); for (int i = 0; i < foundRows.Length; i++) { sn

我使用以下方法获得了datatable的值

DataTable table = new DataTable();
table = GetTable();
string expression;
expression = "B.Id = " + textBox1.Text;
DataRow[] foundRows;
foundRows = table.Select(expression);
for (int i = 0; i < foundRows.Length; i++)
{

    sno.Text = foundRows[i][1].ToString();
    name.Text = foundRows[i][2].ToString();
    dcn.Text = foundRows[i][3].ToString();
    stat.Text = foundRows[i][4].ToString();
}
DataTable=newdatatable();
table=GetTable();
字符串表达式;
expression=“B.Id=“+textBox1.Text;
DataRow[]foundRows;
foundRows=table.Select(表达式);
for(int i=0;i
那么我如何更改
foundRows[i][4]

的值呢?您已经在使用获取第一列了,所以我不理解这个问题。如果要访问第二个字段,请使用
foundRows[i][1]

MessageBox.Show(foundRows[i][1].ToString());
如果要循环所有字段:

for(int i = 0; i < foundRows.Length; i ++)
{
    for(int c = 0; c < table.Columns.Count; c++)
        MessageBox.Show(foundRows[i][c].ToString());
}
用这个

DataTable table = new DataTable();
table = GetTable();
string expression;
expression = "B.Id = " + textBox1.Text;
DataRow[] foundRows;
foundRows = table.Select(expression);
for (int i = 0; i < foundRows.Length; i++)
{

sno.Text = foundRows[i][1].ToString();
name.Text = foundRows[i][2].ToString();
dcn.Text = foundRows[i][3].ToString();
stat.Text = foundRows[i][4].ToString();
}


DataTable table = new DataTable();
    table = GetTable();
    string expression;
    expression = "B.Id = "+textBox1.Text;
    DataRow[] foundRows;
    foundRows = table.Select(expression);
    for(int i = 0; i < foundRows.Length; i ++)
    {
     if(button1.Text == "Make Preasent!")
     {
         foundRows[i][4] = true;
        table.AcceptChanges();
     }
     else
     {
         foundRows[i].SetField(4, false);
         table.AcceptChanges();
     }
    }
DataTable=newdatatable();
table=GetTable();
字符串表达式;
expression=“B.Id=“+textBox1.Text;
DataRow[]foundRows;
foundRows=table.Select(表达式);
for(int i=0;i
你认为
[0]
是什么意思?我已经编辑了你的标题。请看“,”其中的共识是“不,他们不应该”。除非我愿意。考虑到我在这里的时间比你长,我对它的工作有了更好的了解。@ SydaliNaq: StAcExobe必须由版主来管理,这些版主也是用户。这些用户花费大量的空闲时间来解决其他用户的问题,所以他们已经在做他们的工作了。由于主持人的工具,他们会得到通知,但他们往往无法回答问题本身。结论:不要责怪那些试图帮助你的人,不管他们是否回答了你的问题。而且,你已经从根本上改变了这个问题。现在,我已经接受的答案与它无关(谢谢,在这种情况下,总是问一个新问题),现在它甚至是重复的。但是,你能告诉我如何更改这个foundRows[i][1]的值吗?你可以使用setter:
foundRows[i][1]=“new value”
或使用
设置字段
foundRows[i].SetField(1,“新值”)
我试过了,但不起作用。值不起作用changes@SyedAliNaqi:也许你需要问另一个问题,因为这应该行得通。@SyedAliNaqi:你不应该编辑你的问题,使我的回答对未来的读者毫无用处。而是像我建议的那样问另一个问题。
DataTable table = new DataTable();
table = GetTable();
string expression;
expression = "B.Id = " + textBox1.Text;
DataRow[] foundRows;
foundRows = table.Select(expression);
for (int i = 0; i < foundRows.Length; i++)
{

sno.Text = foundRows[i][1].ToString();
name.Text = foundRows[i][2].ToString();
dcn.Text = foundRows[i][3].ToString();
stat.Text = foundRows[i][4].ToString();
}


DataTable table = new DataTable();
    table = GetTable();
    string expression;
    expression = "B.Id = "+textBox1.Text;
    DataRow[] foundRows;
    foundRows = table.Select(expression);
    for(int i = 0; i < foundRows.Length; i ++)
    {
     if(button1.Text == "Make Preasent!")
     {
         foundRows[i][4] = true;
        table.AcceptChanges();
     }
     else
     {
         foundRows[i].SetField(4, false);
         table.AcceptChanges();
     }
    }