大家好,我现在有个这样的 需求,
在数据库有个字段USEFLAG,值是0或1。但是我在CXGRID显示“0-可用”或“1-停用”,然后我想在CXGRID上面增加修改。我目前以下使用
strsql:='select ID,PCODE,Price,Pname,UseFlag,case UseFlag when 0 then '+'''0-可用''' +'else '+'''1-停用''' +'end as useflag1 from PirceBase';
把他查询出来,可是我在CXGRID无法对useflag1修改,,不知道我这样做是否对,,如果不对,要如何修改,谢谢。
在数据库有个字段USEFLAG,值是0或1。但是我在CXGRID显示“0-可用”或“1-停用”,然后我想在CXGRID上面增加修改。我目前以下使用
strsql:='select ID,PCODE,Price,Pname,UseFlag,case UseFlag when 0 then '+'''0-可用''' +'else '+'''1-停用''' +'end as useflag1 from PirceBase';
把他查询出来,可是我在CXGRID无法对useflag1修改,,不知道我这样做是否对,,如果不对,要如何修改,谢谢。
解决方案 »
- 如何解决 "ADO取oracle9的数据时把负数都变成正的问题"
- 如何判断字段在数据库中是否能为空的问题,急!!请各位帮忙!
- dbgrideh中判断鼠标离开事件?做过进销存的兄弟们请进!
- 动态生成报表(在线等候),急
- 我工资低,还有一个了人在那里炫耀他的工资+奖金多少,郁闷!
- delphi新丁请求急救!BDE连接远程数据库问题!!(100分)
- 又散分
- 请问:application.onidle的作用是什么?
- 一个文件操作的问题?
- 请问哪里有关于Delphi报表设计的教材下载?很急!!!
- dos 下串口调试工具 Term 95 哪里有下载?
- 如何关闭所有打开的 资源管理器 窗口 不是重启explorer.exe进程
select ID,PCODE,Price,Pname,UseFlag from PirceBase只要在cxGrid修改UseFlag列就可以:Properties设置为checkbox 然后设置相应的属性 true:1 false:0。
2 ValueChecked:-1, ValueUnChecked:0
修改对应列的OnGetDisplayText事件
procedure TForm11.cxgrdclmncxgrdtblvwcxgrd1TableView1Column2GetDisplayText(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AText: string);
begin
if AText = '-1' then
AText := '可用'
else
if AText = '0' then
AText := '停用'
end;
ARecIndex:=self.cxGrid1DBTableView1.DataController.FocusedRecordIndex;
self.cxGrid1DBTableView1.DataController.Values[ARecIndex,4]:=1;
self.cxGrid1DBTableView1.DataController.Post();我在更新数据时,按照上面的代码,为什么没有效果,改了数据,又变回来
只有Value=-1或Value=0时才能显示成 '可用','停用'
GetDisplayText方法就是根据你当前单元的实际值产生显示值的过程其实你这个列做成下拉框就解决你的问题了
1 选中列->properties选则combobox
2 items中加两行'可用','停用'
3 将下拉框设置成只能选择的模式就可以
谢谢
cxGrid1DBTableView2->Columns[2]->Properties->Items->Add("douhao");
顺便再请教一下,请问cxGrid控件最上面的“Darg a Column header here to group by that column”这一行如何隐藏啊?这个问题也困扰我好几天了