将dataTable中的值绑定到Gridview ASP c#.net中的特定单元格

时间:2017-03-14 00:12:41

标签: c# asp.net

我有一个现有的表名[thisMonth]。我想根据查询将某些值绑定到Gridview中的特定Cell。

就像这样*请原谅我的错误语法

sqlquery string = "Select * from [thisMonth] where [Day] = 'm1';
sqlcommand cmd = (string, con);
sqlreader read = sqlreader(cmd);
executequery;

GridView1.Rows[0].Cells[1].Text += read["value1"];
GridView1.Rows[0].Cells[1].Text += read["value2"];
GridView1.Rows[0].Cells[1].Text += read["value3"];
我正走在正确的道路上吗?我没有收到任何错误,但我的表格中没有显示任何错误。

3 个答案:

答案 0 :(得分:0)

如果向页面添加sqlDataSource,将gridView的数据源设置为sqlDataSource并使用查询以数据源的表格形式选择数据,则可以更轻松地完成此操作。

我会详细说明,但Stackoverflow上还有很多其他来源,并提供了这样的示例;)

答案 1 :(得分:0)

SqlDataReader的默认位置在第一条记录之前。因此,您必须调用Read以开始访问任何数据

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.read(v=vs.110).aspx

while (read.Read())
{
    GridView1.Rows[rowindex].Cells[1].Text = read["value1"];
    GridView1.Rows[rowindex].Cells[1].Text = read["value2"];
    GridView1.Rows[rowindex].Cells[1].Text = read["value3"];
    rowindex++;
}

// Call Close when done reading.
read.Close();

答案 2 :(得分:0)

看起来我现在要将值赋给特定的单元格,但我唯一不知道的是如何在c#中执行endl:P

现在是我的代码:

        bind.gridv = new GridView();
        bind.gridv.ID = "complete";
        bind.gridv.AutoGenerateColumns = false;

        DataTable dt = new DataTable();
        DataRow drow = dt.NewRow();

        int i = 0;
        dt.Columns.Add("m" + (i + 1) + "");

        drow[0] += "hehe\n";
        drow[0] += "haha";
        drow[0] += "hoho";
        drow[0] += "hihi";

        dt.Rows.Add(drow);

        BoundField bound = new BoundField();
        bound.DataField = "m"+(i+1)+"";
        bound.HeaderText = "m" + (i + 1) + "";

        bind.gridv.Columns.Add(bound);

        bind.gridv.DataSource = dt;
        bind.gridv.DataBind();


        this.Page.Controls.Add(bind.gridv);
        PlaceHolder1.Controls.Add(bind.gridv);