如何把查询到的数据从datatable用for循环加载到datagridview?
for (int i = 0; i <= dt.Rows.Count-1; i++)
{
list.OrderDGV[0, M_int_CurrentRow].Value = dt.Rows[i][0].ToString();
}
我这样写只能把数据加载到第一行,如果有两天或者多条数据,datagridview不会自动换行,请问要怎么做?
for (int i = 0; i <= dt.Rows.Count-1; i++)
{
list.OrderDGV[0, M_int_CurrentRow].Value = dt.Rows[i][0].ToString();
}
我这样写只能把数据加载到第一行,如果有两天或者多条数据,datagridview不会自动换行,请问要怎么做?
datagridview.databind();
直接绑定数据源!
datagridview.datasource=datatable;
datagridview.datasource=datatable;
这样就剩下一个空表头了,下面列是空的,没有数据,但是有行数
protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)//用属性菜单自动生成就是你自己的行绑定事件了
{
if (e.Row.RowType == DataControlRowType.DataRow)//防止点击header也触发事件
{
e.Row.Attributes.Add("OnDblClick", "javascript:top.location.href='/xxxxxx.aspx?Id=" + e.Row.Cells[x].Text.Trim() + "'");//这里XXXX是你要传值的页面,后面Cells[x]里的X是那个值所在CELL的列数,你有设置主键的话就传主键好了
}
}
传到值的页面这样:string s = Request.QueryString["Id"].Trim();
先说下啊,你这个Id在你后台数据库里有个字段跟它对应,然后你再做SQL查询出对应的订单数据再绑定到gridview。
这个做法其实就是简单的页面传值,当然你的订单数据不多的话你也可以一次传多个值过去,但是不推荐这样做,因为这些数据要保密,而且万一以后有扩展,订单数据字段大大增加的话你传的值太多对性能不大好。
每一列在设计器的时候你没有指明datapropertyname属性?
你直接把datapropertyname设置成 你要绑定的列的名字
this.Expla_ultraGrid.DataSource = this.ExpnsTable;
然后保存到数据库
因为我的DataGridView设置了样式,如果直接绑定样式就会没有 那样很丑