我有一个现有的表名[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"];
我正走在正确的道路上吗?我没有收到任何错误,但我的表格中没有显示任何错误。
答案 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);