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自定义显示编辑算法试试,难度大点