1.Edit + StringGrid
此时用edit 接受每条记录数据录入,然后在ADD按钮后更新到 StringGrid,双击StringGrid某行删除,确定后Submit按钮提交
看到别的程序中使用类似excel datasheet的功能很好用,不知道是如何实现的,或者有更加舒服的方式去录入修改
74 个解决方案
#1
excel datasheet,这是第三方控件了
再有,你干吗用edit去输入呢,stringgrid直接就可以输入,干吗搞这么麻烦
再有,你干吗用edit去输入呢,stringgrid直接就可以输入,干吗搞这么麻烦
#2
直接錄入用 DBGrideh
#3
我也很喜欢用edit+stringgrid
用edit是因为edit更容易控制输入。stringgrid输入控制起来麻烦点,要写几个事件。
#4
DBGrid 不比StringGrid好用?
#5
我个人不赞同直接在dbgrid上输入数据
#6
DBGrid太难控制,如订单
订单号==》多个ITEM,如何设计界面,以及配置DBGrid
#7
訂單是主從的。
多練下火候,在緩存下感應組件控制好是不難的
#8
控制难不难完全在你自己,当然如果能脱离DB控件,那是最好的
#9
可否介绍一二,先谢过
#10
有針對性的說吧,這樣說範圍太大點了吧。
#11
楼主最好去找一些有关delphi数据库软件开发的书看看。
订单是一个订单号对应多个货号~~~一般都用主从档形式
订单是一个订单号对应多个货号~~~一般都用主从档形式
#12
建议用临时表,即ADO+DS+DBGRID,任何操作都在临时表上,最后提交时从临时表插入就行了
#13
呵呵,还真有双击删除的,这功能太强悍了,以前见过一次
#14
谢谢楼上各位,主从档我知道,只就DBGrid等数据控件的使用还不够精,也就基本使用。
就比如下单吧,在下单这个界面上应该如果设计功能,ID是自动生成的,格式为IYYYYMMDD0001,所以建了一个seek表用来存放最后一个seed
1.如果同时有10个人同时下单,是不是在输入界面上不能生成将要下单的ID,而是在提交时根据当时情况(及开事务独占seek表,算出正确id,提交
结束,结束事务)获得写入正确ID,所以在界面上只要考虑订单内容(名细)即可。那此时只需要用DBGrid来控制便可
2.如果想在界面上可以同时获得修改订单功能,那么便需要Edit/DBEdit与DBGrid配合使用
可否针对上面两条的要求那说一下呢
就比如下单吧,在下单这个界面上应该如果设计功能,ID是自动生成的,格式为IYYYYMMDD0001,所以建了一个seek表用来存放最后一个seed
1.如果同时有10个人同时下单,是不是在输入界面上不能生成将要下单的ID,而是在提交时根据当时情况(及开事务独占seek表,算出正确id,提交
结束,结束事务)获得写入正确ID,所以在界面上只要考虑订单内容(名细)即可。那此时只需要用DBGrid来控制便可
2.如果想在界面上可以同时获得修改订单功能,那么便需要Edit/DBEdit与DBGrid配合使用
可否针对上面两条的要求那说一下呢
#15
1.只有当用户点击Save Order按钮时,才要为其申请Order ID,如果想省事,用敏感控件时也要选择一个可以离线的数据集,而后将数据整体提交(如ClientDataSet等)!
2.在订单管理界面上,可以分上下二部分,上部分可放一些客户的基础信息,下部分用多个TabSheet组成,每个TabSheet对应于与Order表相关联的子表,
如Shipping Addr信息标签,订单产品标签(OrderItem表),优惠码信息(OrderCoupon表),付款信息(OrderPayment表),运送产品信息(这个和订单产品不一样,因为有些产品是不经物流的,如服务运费等)
不知道我说清楚没有
2.在订单管理界面上,可以分上下二部分,上部分可放一些客户的基础信息,下部分用多个TabSheet组成,每个TabSheet对应于与Order表相关联的子表,
如Shipping Addr信息标签,订单产品标签(OrderItem表),优惠码信息(OrderCoupon表),付款信息(OrderPayment表),运送产品信息(这个和订单产品不一样,因为有些产品是不经物流的,如服务运费等)
不知道我说清楚没有
#16
2.如果想在界面上可以同时获得修改订单功能,那么便需要Edit/DBEdit与DBGrid配合使用
--------------------------------------------------
这个我在第1点已经说了,配合使用没问题,但最好用离线数据集
--------------------------------------------------
这个我在第1点已经说了,配合使用没问题,但最好用离线数据集
#17
其实用一个表,还是主从表都无所谓,当然一般都用主从表来实现
也不用啥临时表,也不用啥缓存技术,完全可以用stringgrid或者listview来实现,提交的时候先保存主表,再获得主表主键,保存从表
也不用啥临时表,也不用啥缓存技术,完全可以用stringgrid或者listview来实现,提交的时候先保存主表,再获得主表主键,保存从表
#18
學習學習
#19
@liangpei2008
我的意思是具体的设置,而不是界面构置,因为1,2已交代,假如用EDIT 和 DBGrid来实现:
功能:使用edit或者dbedit同DBGrid实现订单录入及修改
假如有表 :
tb_orders:OrderID,OPDate,OP 存放订单基本信息
tb_orderdtls:OrderID,ItemID,Qty 存放订单详细信息
seek:存放种子,不作考虑
界面控件:
edit_OrderId:留空时为添加订单/否则查询已有订单
dbgrid_OrderDtls:用来增加记录或修改记录
数据:
ADOConnection:已连接数据库
ADOQuery:
DataSource:
等等
如果关联操作已达到上述要求
我的意思是具体的设置,而不是界面构置,因为1,2已交代,假如用EDIT 和 DBGrid来实现:
功能:使用edit或者dbedit同DBGrid实现订单录入及修改
假如有表 :
tb_orders:OrderID,OPDate,OP 存放订单基本信息
tb_orderdtls:OrderID,ItemID,Qty 存放订单详细信息
seek:存放种子,不作考虑
界面控件:
edit_OrderId:留空时为添加订单/否则查询已有订单
dbgrid_OrderDtls:用来增加记录或修改记录
数据:
ADOConnection:已连接数据库
ADOQuery:
DataSource:
等等
如果关联操作已达到上述要求
#20
Master 表 dsInsert 時肯定是新增單據,AppendNewRecord 時肯定要取好單號
Detail 表在新增時取 Master 表的主鍵。
Detail 表隨著 Master 表的 onAfterScroll 表變化。
Master ,Detail 在POST時 BeforePost 檢查 Requie 屬性,是否必填項
Detail 表在新增時取 Master 表的主鍵。
Detail 表隨著 Master 表的 onAfterScroll 表變化。
Master ,Detail 在POST時 BeforePost 檢查 Requie 屬性,是否必填項
#21
請記住Detail 表要是在緩存下,否則會有很多麻煩
#22
路过,学学~
#23
路过学习帮顶up
#24
感觉思路有问题,如果用stringgrid,数据量大时,很难处理刷新的问题,还是用DBGrid或者第三方的控件吧
#25
简单的操作用dbgrid,如果对录入过程有特殊要求,建议用stringgrid配合其它控件.批量数据进出,建议用事务
#26
你要想方便可以用dbgrid或dbgrideh
dbgrideh是第三方组件,需要安装之后才能使用.
dbgrideh是第三方组件,需要安装之后才能使用.
#27
study....
#28
stringgrid直接就可以输入
#29
#30
我是新人,路过路过!!!!
#31
我也很喜欢用edit+stringgrid
用edit是因为edit更容易控制输入。stringgrid输入控制起来麻烦点,要写几个事件。
用edit是因为edit更容易控制输入。stringgrid输入控制起来麻烦点,要写几个事件。
#32
如果列表的栏位比较多的话,直接在GRID里很难录入的,比如一会儿是日期、一会儿是下拉框的;
我现在比较喜欢先在EDIT里录入,然后暂时存储在STRINGGRID中....
我现在比较喜欢先在EDIT里录入,然后暂时存储在STRINGGRID中....
#33
不是你感觉难不难,而是客户感觉怎么样
国内软件为什么没发展,可想而知
国内软件为什么没发展,可想而知
#34
这个完全赞成,但前提是有定位(最终的实现界面),复杂度(通过什么样的控件组合来完成相同的界面和功能)只在乎自己水平,绕路也能到达目标。
想讨论的是如何能既简单又满足要求,还望不惜
#35
路过 取分数来咯
#36
路过看看
#37
UP
#38
up
#39
录入界面可以随便安排,修改也可以用DBGRID or STRINGADD,这个根据实际需要,都很好控制。但要注意增加它们的容错能力即可。
#40
啊,不懂,路过的顺便学学
#41
本人简单单据就 主从一次性提交 保存了,用的gridview多行编辑模式,苦于 每个ITEM 中 物料选择 弹出窗口来选 不爽;
期待 autocompleteextender来解决中....
期待 autocompleteextender来解决中....
#42
#43
Mark!
#44
主单信息,如客户名称等使用Edit输入;
明细,当然在grid中直接输入
明细,当然在grid中直接输入
#45
.
#46
使用 gridview
#47
我习惯采用:
内存表+dbgrid(只读,仅用于浏览多条记录),双击取当前记录到下面的panel里(各个edit/combobox/...,非db控件)
保存、添加由专门的按钮提交
刷新记录:
数据库====isapi(相当于一个数据库网关)=webserver -------> win32客户端(https客户端)=内存表
提交:
win32客户端的非db控件里的信息=win32客户端(https客户端) ---------> webserver=isapi(相当于一个数据库网关)===数据库
内存表+dbgrid(只读,仅用于浏览多条记录),双击取当前记录到下面的panel里(各个edit/combobox/...,非db控件)
保存、添加由专门的按钮提交
刷新记录:
数据库====isapi(相当于一个数据库网关)=webserver -------> win32客户端(https客户端)=内存表
提交:
win32客户端的非db控件里的信息=win32客户端(https客户端) ---------> webserver=isapi(相当于一个数据库网关)===数据库
#48
学习
#49
d
#50
回帖是一种美德!每天回帖即可获得 10 分可用分!
#1
excel datasheet,这是第三方控件了
再有,你干吗用edit去输入呢,stringgrid直接就可以输入,干吗搞这么麻烦
再有,你干吗用edit去输入呢,stringgrid直接就可以输入,干吗搞这么麻烦
#2
直接錄入用 DBGrideh
#3
我也很喜欢用edit+stringgrid
用edit是因为edit更容易控制输入。stringgrid输入控制起来麻烦点,要写几个事件。
#4
DBGrid 不比StringGrid好用?
#5
我个人不赞同直接在dbgrid上输入数据
#6
DBGrid太难控制,如订单
订单号==》多个ITEM,如何设计界面,以及配置DBGrid
#7
訂單是主從的。
多練下火候,在緩存下感應組件控制好是不難的
#8
控制难不难完全在你自己,当然如果能脱离DB控件,那是最好的
#9
可否介绍一二,先谢过
#10
有針對性的說吧,這樣說範圍太大點了吧。
#11
楼主最好去找一些有关delphi数据库软件开发的书看看。
订单是一个订单号对应多个货号~~~一般都用主从档形式
订单是一个订单号对应多个货号~~~一般都用主从档形式
#12
建议用临时表,即ADO+DS+DBGRID,任何操作都在临时表上,最后提交时从临时表插入就行了
#13
呵呵,还真有双击删除的,这功能太强悍了,以前见过一次
#14
谢谢楼上各位,主从档我知道,只就DBGrid等数据控件的使用还不够精,也就基本使用。
就比如下单吧,在下单这个界面上应该如果设计功能,ID是自动生成的,格式为IYYYYMMDD0001,所以建了一个seek表用来存放最后一个seed
1.如果同时有10个人同时下单,是不是在输入界面上不能生成将要下单的ID,而是在提交时根据当时情况(及开事务独占seek表,算出正确id,提交
结束,结束事务)获得写入正确ID,所以在界面上只要考虑订单内容(名细)即可。那此时只需要用DBGrid来控制便可
2.如果想在界面上可以同时获得修改订单功能,那么便需要Edit/DBEdit与DBGrid配合使用
可否针对上面两条的要求那说一下呢
就比如下单吧,在下单这个界面上应该如果设计功能,ID是自动生成的,格式为IYYYYMMDD0001,所以建了一个seek表用来存放最后一个seed
1.如果同时有10个人同时下单,是不是在输入界面上不能生成将要下单的ID,而是在提交时根据当时情况(及开事务独占seek表,算出正确id,提交
结束,结束事务)获得写入正确ID,所以在界面上只要考虑订单内容(名细)即可。那此时只需要用DBGrid来控制便可
2.如果想在界面上可以同时获得修改订单功能,那么便需要Edit/DBEdit与DBGrid配合使用
可否针对上面两条的要求那说一下呢
#15
1.只有当用户点击Save Order按钮时,才要为其申请Order ID,如果想省事,用敏感控件时也要选择一个可以离线的数据集,而后将数据整体提交(如ClientDataSet等)!
2.在订单管理界面上,可以分上下二部分,上部分可放一些客户的基础信息,下部分用多个TabSheet组成,每个TabSheet对应于与Order表相关联的子表,
如Shipping Addr信息标签,订单产品标签(OrderItem表),优惠码信息(OrderCoupon表),付款信息(OrderPayment表),运送产品信息(这个和订单产品不一样,因为有些产品是不经物流的,如服务运费等)
不知道我说清楚没有
2.在订单管理界面上,可以分上下二部分,上部分可放一些客户的基础信息,下部分用多个TabSheet组成,每个TabSheet对应于与Order表相关联的子表,
如Shipping Addr信息标签,订单产品标签(OrderItem表),优惠码信息(OrderCoupon表),付款信息(OrderPayment表),运送产品信息(这个和订单产品不一样,因为有些产品是不经物流的,如服务运费等)
不知道我说清楚没有
#16
2.如果想在界面上可以同时获得修改订单功能,那么便需要Edit/DBEdit与DBGrid配合使用
--------------------------------------------------
这个我在第1点已经说了,配合使用没问题,但最好用离线数据集
--------------------------------------------------
这个我在第1点已经说了,配合使用没问题,但最好用离线数据集
#17
其实用一个表,还是主从表都无所谓,当然一般都用主从表来实现
也不用啥临时表,也不用啥缓存技术,完全可以用stringgrid或者listview来实现,提交的时候先保存主表,再获得主表主键,保存从表
也不用啥临时表,也不用啥缓存技术,完全可以用stringgrid或者listview来实现,提交的时候先保存主表,再获得主表主键,保存从表
#18
學習學習
#19
@liangpei2008
我的意思是具体的设置,而不是界面构置,因为1,2已交代,假如用EDIT 和 DBGrid来实现:
功能:使用edit或者dbedit同DBGrid实现订单录入及修改
假如有表 :
tb_orders:OrderID,OPDate,OP 存放订单基本信息
tb_orderdtls:OrderID,ItemID,Qty 存放订单详细信息
seek:存放种子,不作考虑
界面控件:
edit_OrderId:留空时为添加订单/否则查询已有订单
dbgrid_OrderDtls:用来增加记录或修改记录
数据:
ADOConnection:已连接数据库
ADOQuery:
DataSource:
等等
如果关联操作已达到上述要求
我的意思是具体的设置,而不是界面构置,因为1,2已交代,假如用EDIT 和 DBGrid来实现:
功能:使用edit或者dbedit同DBGrid实现订单录入及修改
假如有表 :
tb_orders:OrderID,OPDate,OP 存放订单基本信息
tb_orderdtls:OrderID,ItemID,Qty 存放订单详细信息
seek:存放种子,不作考虑
界面控件:
edit_OrderId:留空时为添加订单/否则查询已有订单
dbgrid_OrderDtls:用来增加记录或修改记录
数据:
ADOConnection:已连接数据库
ADOQuery:
DataSource:
等等
如果关联操作已达到上述要求
#20
Master 表 dsInsert 時肯定是新增單據,AppendNewRecord 時肯定要取好單號
Detail 表在新增時取 Master 表的主鍵。
Detail 表隨著 Master 表的 onAfterScroll 表變化。
Master ,Detail 在POST時 BeforePost 檢查 Requie 屬性,是否必填項
Detail 表在新增時取 Master 表的主鍵。
Detail 表隨著 Master 表的 onAfterScroll 表變化。
Master ,Detail 在POST時 BeforePost 檢查 Requie 屬性,是否必填項
#21
請記住Detail 表要是在緩存下,否則會有很多麻煩
#22
路过,学学~
#23
路过学习帮顶up
#24
感觉思路有问题,如果用stringgrid,数据量大时,很难处理刷新的问题,还是用DBGrid或者第三方的控件吧
#25
简单的操作用dbgrid,如果对录入过程有特殊要求,建议用stringgrid配合其它控件.批量数据进出,建议用事务
#26
你要想方便可以用dbgrid或dbgrideh
dbgrideh是第三方组件,需要安装之后才能使用.
dbgrideh是第三方组件,需要安装之后才能使用.
#27
study....
#28
stringgrid直接就可以输入
#29
#30
我是新人,路过路过!!!!
#31
我也很喜欢用edit+stringgrid
用edit是因为edit更容易控制输入。stringgrid输入控制起来麻烦点,要写几个事件。
用edit是因为edit更容易控制输入。stringgrid输入控制起来麻烦点,要写几个事件。
#32
如果列表的栏位比较多的话,直接在GRID里很难录入的,比如一会儿是日期、一会儿是下拉框的;
我现在比较喜欢先在EDIT里录入,然后暂时存储在STRINGGRID中....
我现在比较喜欢先在EDIT里录入,然后暂时存储在STRINGGRID中....
#33
不是你感觉难不难,而是客户感觉怎么样
国内软件为什么没发展,可想而知
国内软件为什么没发展,可想而知
#34
这个完全赞成,但前提是有定位(最终的实现界面),复杂度(通过什么样的控件组合来完成相同的界面和功能)只在乎自己水平,绕路也能到达目标。
想讨论的是如何能既简单又满足要求,还望不惜
#35
路过 取分数来咯
#36
路过看看
#37
UP
#38
up
#39
录入界面可以随便安排,修改也可以用DBGRID or STRINGADD,这个根据实际需要,都很好控制。但要注意增加它们的容错能力即可。
#40
啊,不懂,路过的顺便学学
#41
本人简单单据就 主从一次性提交 保存了,用的gridview多行编辑模式,苦于 每个ITEM 中 物料选择 弹出窗口来选 不爽;
期待 autocompleteextender来解决中....
期待 autocompleteextender来解决中....
#42
#43
Mark!
#44
主单信息,如客户名称等使用Edit输入;
明细,当然在grid中直接输入
明细,当然在grid中直接输入
#45
.
#46
使用 gridview
#47
我习惯采用:
内存表+dbgrid(只读,仅用于浏览多条记录),双击取当前记录到下面的panel里(各个edit/combobox/...,非db控件)
保存、添加由专门的按钮提交
刷新记录:
数据库====isapi(相当于一个数据库网关)=webserver -------> win32客户端(https客户端)=内存表
提交:
win32客户端的非db控件里的信息=win32客户端(https客户端) ---------> webserver=isapi(相当于一个数据库网关)===数据库
内存表+dbgrid(只读,仅用于浏览多条记录),双击取当前记录到下面的panel里(各个edit/combobox/...,非db控件)
保存、添加由专门的按钮提交
刷新记录:
数据库====isapi(相当于一个数据库网关)=webserver -------> win32客户端(https客户端)=内存表
提交:
win32客户端的非db控件里的信息=win32客户端(https客户端) ---------> webserver=isapi(相当于一个数据库网关)===数据库
#48
学习
#49
d
#50
回帖是一种美德!每天回帖即可获得 10 分可用分!