主题:  DataGrid添加问题???

ztong

职务:普通成员
等级:1
金币:0.0
发贴:129
#12006/1/25 20:39:59
在DataGrid删除一行后,添加新的一行,发现添加行的位置不确定,有时候添加到刚刚删除行,有时候添加到最后一行,如何控制,使得添加行始终添加到最后一行,甚至在刚刚删除中间一行后添加也要添加到最后一行。谢谢了!一定有办法控制!



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22006/1/26 0:21:32
private void DataBoundInfo()
{
DataSet ds = CMyTestBiz.GetInfomations();
DataView dv = ds.Tables[0].DefaultView;
dv.Sort = "InfoID DESC";

DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}


非常大鱼

ztong

职务:普通成员
等级:1
金币:0.0
发贴:129
#32006/1/26 11:44:50
CMyTestBiz.GetInfomations();是什么?为什么不能在程序中调用?缺少using的引用吗?



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#42006/1/26 16:14:09
CMyTestBiz是自定义的类,包含各种方法,包括如何取数据库。
ASP.NET是面向对象的编程,所以要养成使用类的方法。
.net中,绑定是最上面的层,为表示层,好的编程习惯在这层看不到如何调用数据库,包括如何连接数据库、查询语句等,而把这些封装在自定义类中。


非常大鱼

ztong

职务:普通成员
等级:1
金币:0.0
发贴:129
#52006/1/29 15:54:25
本人是先更新数据库,然后重新绑定datagrid,这样如何实现数据的顺序化。我感觉是由于数据库的添加时总是添加在已经删除的位子,由于添加位子不固定,造成数据绑定时datagrid的位置顺序出现问题。那么如何添加时,保证在修改数据库后绑定datagrid仍旧是按照新添加一行在最后一行呢?



ztong

职务:普通成员
等级:1
金币:0.0
发贴:129
#62006/1/29 16:10:53
我的数据库修改后,绑定datagrid如下:
public void OpenDB()
{
string sql="select * from 坐标信息框架";
conn.open();
SqlDataAdapter da=new SqlDataAdapter(sql,conn);
DataSet ds1 = new DataSet();
DataView dv = new DataView(ds1.Tables["A"]);
dv.Sort = "序号 DESC";
zuobiao.DataSource = dv;
zuobiao.DataBind();
conn.Close();
}
为何在dv.Sort = "序号 DESC";行不能运行?



ztong

职务:普通成员
等级:1
金币:0.0
发贴:129
#72006/1/29 16:15:54
出现错误:
在使用 DataView 前必须设置 DataTable



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#82006/2/1 0:00:12
DataSet ds1 = new DataSet();
DataView dv = new DataView(ds1.Tables["A"]);

ds1还没完成表(table)的建立,而你已经赋值给dv了,当然出错


非常大鱼

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#92006/2/1 0:11:56
还有给个建议,你上述的代码比较混杂,结构不好,以往asp编程就这样。
现在有些国内编的.net书有许多水平不好的,看了容易误人,把一些调用数据库的方法长篇反复的调用。
应该把这些方法封闭起来,看一些老外的书,很专业的,条理相当好。

说实在吧,SqlDataAdapter,Fill这些词名,除了写些文章外,实际编程中,已经近年没写这样的词了,真有些忘了,因为这些方法早已经用类库封装好了,在些基础的数据类中,也很少见到,更不用说在绑定控件中出现了。

象这种频繁出现的数据调用句尽早用类库封装吧,以后调用时也避免犯这样低级错误。


非常大鱼