Gridview 2次读取的数据显示在一个Gridview上 我的Gridview数据全部是根据ID重数据库读出来的,只不过开始读取的是一行,绑定给Gridview,然后在读取一条绑定给Gridview,那样Gridview,就显示2条数据了,以此类推。这样要怎么做,有代码参考么,谢谢,一定多给分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么要根据ID一次读一条,这样读,你不觉得性能很低吗?你一次都出来绑定不就是了吗?要想你这样类似不断添加行的想法,那你可以定义个List,每次查到的数据先存到List中,然后在把List复制给GridView的datasource. 我是做的点餐系统,左边点击一下重数据库读出来的值,又边Gridview上就显示一条,在点击在显示 给你个思路,自己编写代码调试一下吧!第一次读取一行,绑定到Gridview后,读取第二行前你先把Gridview上显示的数据放到一个table里,(label也行,就得一个一个放)然后再从数据库读取一条数据,读完后把读到数据添加到table里,最后用用Gridview显示table的数据就行了。-------------------记着结贴给分,哈哈! 点餐系统如同购物车。通过session保存dataset点击一条数据。添加数据到session里。在其他页面显示ViewState只能在当前页面有效 每个餐品都有一guid列,然后弄个数组,选哪些,就把对应的guid存数组,数组放session,然后购建sql语言去取数据where id=@id1 or id=@id2 or id=@id3...最后取来databind gridview string Cytype = Request.QueryString["Cytype"]; string sql = "select left(Cy_Name,3)+'...' Cy_Name,Age from Cp_Name where PKID='" + 26 + "'"; SqlCommand com = new SqlCommand(sql, con); SqlDataAdapter da = new SqlDataAdapter(com); DataTable dt = new DataTable(); //DataSet ds = new DataSet(); da.Fill(dt); ViewState["dt"] = dt; if (ViewState["dt"] != null) { dt = (DataTable)ViewState["dt"]; DataRow dr = dt.NewRow(); dr["Cy_Name"] = dt.Rows[0]["Cy_Name"]; dr["Age"] = dt.Rows[0]["Age"]; dt.Rows.Add(dr); ViewState["dt"] = dt; } GridView1.DataSource = dt; GridView1.DataBind();这样写可以么 楼上的应该可以了,通过绑定的table添加数据 不行,ViewState["dt"] = dt; 不管怎么样他都有数据,我没传值进去,他都会执行 if (ViewState["dt"] != null) { dt = (DataTable)ViewState["dt"]; DataRow dr = dt.NewRow(); dr["Cy_Name"] = dt.Rows[0]["Cy_Name"]; dr["Age"] = dt.Rows[0]["Age"]; dt.Rows.Add(dr); ViewState["dt"] = dt; } 不知道怎么解决 建议不要用ViewState,用Session。 还有就是你所说的也可以存在客户端,这样的话减少了数据库的访问,其实,你在点击增加到Gridview中时并没有访问数据库,只有到你确认这次点餐时才会进行数据库的访问,建议一次插多条数据,原来的数据自己找个东东存起来。 这个方法可以实现LZ的效果,用JS动态生成TABLE 从DataGridView获取DataTable WinForm程序的WebBrowser 新人请教一个字符串转换为hex值的问题 MailMessage发邮件遇到难题!!!! 在WinForm上怎么可以像图像软件那样用层结构? 关于 可执行程序的 反射问题 在线急等。请指教 datagridview选中某几行,对某列数据求和(用复选框) 新手提个问题 TEXTBOX 问题,请高手帮忙!!急!! 如何通过 JS 判读出用的是普通IE浏览器还是Webbrowser控件? c# 操作vc里的CString C++结构体转义到C#中,在线等
要想你这样类似不断添加行的想法,
那你可以定义个List,每次查到的数据先存到List中,然后在把List复制给GridView的datasource.
记着结贴给分,哈哈!
点击一条数据。添加数据到session里。在其他页面显示
ViewState只能在当前页面有效
where id=@id1 or id=@id2 or id=@id3...
最后取来databind gridview
string sql = "select left(Cy_Name,3)+'...' Cy_Name,Age from Cp_Name where PKID='" + 26 + "'";
SqlCommand com = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
//DataSet ds = new DataSet();
da.Fill(dt);
ViewState["dt"] = dt;
if (ViewState["dt"] != null)
{
dt = (DataTable)ViewState["dt"];
DataRow dr = dt.NewRow();
dr["Cy_Name"] = dt.Rows[0]["Cy_Name"];
dr["Age"] = dt.Rows[0]["Age"];
dt.Rows.Add(dr);
ViewState["dt"] = dt;
}
GridView1.DataSource = dt;
GridView1.DataBind();这样写可以么
{
dt = (DataTable)ViewState["dt"];
DataRow dr = dt.NewRow();
dr["Cy_Name"] = dt.Rows[0]["Cy_Name"];
dr["Age"] = dt.Rows[0]["Age"];
dt.Rows.Add(dr);
ViewState["dt"] = dt;
}
不知道怎么解决