为了账号安全,请及时绑定邮箱和手机立即绑定

使用datatable中的值填充gridview中的文本框

使用datatable中的值填充gridview中的文本框

C#
蛊毒传说 2021-04-09 21:18:56
我有一个显示学生的gridview,每行都有一个文本框,可在其中输入他们的标记。我正在尝试从数据库表中提取当前的'Mark'值并将其放入该特定学生的文本框中,但是数据表中的最后一个值将为每个学生重复。我如何获取数据表值以分别填充gridview的每一行?        TextBox marks = (TextBox)e.Row.FindControl("MarkTextBox");        SqlDataAdapter da = new SqlDataAdapter(command);        DataTable dt = new DataTable();        da.Fill(dt);        foreach (DataRow dr in dt.Rows)        {            int Mark = (int)dr["Mark"];            marks.Text = Mark.ToString();        }    }
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

一切正常,感谢您对@wazz的帮助


TextBox标记=(TextBox)e.Row.FindControl(“ MarkTextBox”);


        for (int i = 0; i < gradeAlways.Rows.Count +1; i++)

        {

                SqlDataAdapter da = new SqlDataAdapter(command);

                DataTable dt = new DataTable();

                da.Fill(dt);


                    var Mark = dt.Rows[i]["Mark"];

                        marks.Text = Mark.ToString();



            }

我不得不把gradeAlways.Rows.Count +1


查看完整回答
反对 回复 2021-04-17
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

如果这是RowDataBound事件,则代码针对每一行运行。

因此,对于第一个gridview行,您将循环整个表并将textbox值设置为当前行。也就是说,表格中的最后一个值将始终是每个gridview行的值。

因此,在RowDataBound事件中,您需要

  • 得到当前的行数(假设是3);

  • 从第3行的表格中获取值并设置文本框;

在下一个RowDataBound(它们全部一次运行)上,您的代码将获得第4行,并将文本框设置为表的第4行中的值。


查看完整回答
反对 回复 2021-04-17
  • 2 回答
  • 0 关注
  • 285 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信