找回密码
 立即注册

QQ登录

只需一步,快速开始

jxsgood

中级会员

15

主题

43

帖子

521

积分

中级会员

积分
521

活字格认证微信认证勋章

jxsgood
中级会员   /  发表于:2011-11-4 14:55  /   查看:7660  /  回复:1

jpg

jpg





方法一:FpSpread1.DataSource = SqlDataSource1;

预先设置SqlDataSource1的各项参数(包括查询,更新,删除,插入),通这样绑定数据后:
数据正常显示单元格类型与数据库字段类型不匹配commanbar上边的 更新、删除、插入 等操作无效果。

方法二:FpSpread1.DataSourceID = “SqlDataSource1”;
预先设置SqlDataSource1的各项参数(包括查询,更新,删除,插入),通这样绑定数据后:
数据正常显示单元格类型与数据库字段类型不匹配,commanbar上边的 更新、插入成功删除操作无效果

方法三:FpSpread1.DataSource = DataSet;
先自己写代码:生成DataSet,然后绑定到FpSpread1,通过这样绑定数据后:
数据正常显示,单元格格式自动匹配数据库字段类型(文本、整数、小数、bit型都能自动识别),这种方式的,更新、插入、删除 就只能自己写代码了。

方法四:在界面设计时候就直接绑定到SqlDataSource1,方法参考:
http://gcdn.grapecity.com/showtopic-2343.html
数据显示正常,单元格格式自动匹配数据库字段类型(在界面绑定的时候,列字段类型就生成了)commanbar上边的 更新、插入、删除 功能全部都成功。


综上所述:
方法一: 最差的,需要自己写代码设置字段类型,自己写代码进行数据库操作。
方法四: 看起来最完美,但是不够灵活,需要在页面生成前就预先进行配置,非常有局限性。

我比较喜欢方法三:这是最灵活的,更新、插入、删除的代码虽不能偷懒,但可以自己掌控。字段类型可以不用特别考虑了,甚至列标题都不用在FpSpread设置,在生成DataSet的时候,就可以通过SQL把列标题换了。



    因为做demo的原因,选用Access数据库,与之前用MS SQL数据库有个不同的地方,必须要特别说明 就是插入行操作有区别:因为ID为自动编号,插入行应该不用修改,就可以自动生成,发现改用Access数据库后,必须要输入ID后才能插入更新成功,而且客服端要重新DataBind才能显示,无论用哪种绑定方式都是这样。之前用MS SQL数据库做测试没有个些问题。


    发现用SqlDataSource设定Access数据源时候使用的是绝对路径,AccessDataSource使用的是相对路径,所以做demo选用了AccessDataSource。


    虽然DataSource是个object对象,但例程里面都是 绑定到 DataSet,所以绑定方式一、二应该是错误的绑定模式,发现所有例程都没有这样绑定的,算是我一厢情愿吧.
    demo1下载: demo1.zip (2.5 MB, 下载次数: 707)

1 个回复

正序浏览
zhongren66zr
银牌会员   /  发表于:2013-1-2 13:50:00
沙发
不错  楼主能否留下 联系方式i以后 可以常交流 我的 4/7/6/7/3/1/3/3/6
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部