请大家支支招, 看我这问题该如何解决: ( 积分: 50 )

  • 主题发起人 主题发起人 leon235
  • 开始时间 开始时间
L

leon235

Unregistered / Unconfirmed
GUEST, unregistred user!
数据集(ADODataSet)上某一字段的数据,如何根据数据的不同性质分别显示在DBGrid的不同列上,同时要能对数据进行编辑,结果仍然保存到数据库同一字段.
 
如果想仅仅通过数据感知控制完成好象不太可能, 实际上也违背了数据库的基本理论.
如果只是显示, 编辑. 批量保存, 最后用SQL根据不同的情况存盘, 也可以解决你的问题
 
说得不清楚.
不同性质可以通过排序完成呀.
 
别偷懒,用Grid吧
 
与3868474切磋: 我现在就是不知如何把它们分开显示,而且还能编辑,能说得清楚些吗?
谢谢了!
另外,其实这样做应该不是违背数据库的基本理论. 比如:有一个保存金额的字段,金额有正负之分,每一笔交易或正或负,如果分成两个字段是必造成浪费,也为后续处理带来麻烦。
 
在DataSource的OnDataUpdate事件里试试
 
你是用SQL还是ACCESS?
为什么不试试用case语句或iif语句,前面的是t-sql语法,后面的是jet-sql语法
在数据进入dataset之前就应该把它们分开,这样才好处理
 
你在使用quary时用sql语句分开不行么?将其输出到grid中,然后不就能实现你说的功能了么?
 
use tempdb

create table tt(
id int identity(1,1),
dat int
)

insert tt(dat) select 11
insert tt(dat) select 23
insert tt(dat) select -34
insert tt(dat) select -99

--T-SQL语法的查询,(经测试,结果为只读,不能编辑)
select
id as 编号,
(case when dat >=0 then dat else null end) as 正值,
(case when dat <0 then dat else null end) as 负值
from tt
直接用dbgrid更新是不大可能,需要你用程序在有修改的地方post或update一下才行
处理这样的问题,dbgrid或同类grid都不方便,你可以用普通的grid自定义显示编辑算法试试,难度大点
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
923
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部