对于dbgrid控件,想实现如下功能
功能一:窗口1 加入一个dbgrid ,dbgrid中引用数据源的一个lookup型字段 ,
比如主键是编号,显示为员工姓名,
员工信息在另外一个窗口2中管理,增加了员工信息之后,窗口1那个dbgrid的lookup字段没有做到更新,如何能够使到dbgrid的lookup字段自动更新。功能二:要处理一些数据,如何能够使到用户在dbgrid中选择那些数据准备处理,比如用一个checkbox之类的东西让用户选择
功能一:窗口1 加入一个dbgrid ,dbgrid中引用数据源的一个lookup型字段 ,
比如主键是编号,显示为员工姓名,
员工信息在另外一个窗口2中管理,增加了员工信息之后,窗口1那个dbgrid的lookup字段没有做到更新,如何能够使到dbgrid的lookup字段自动更新。功能二:要处理一些数据,如何能够使到用户在dbgrid中选择那些数据准备处理,比如用一个checkbox之类的东西让用户选择
当你在form2中新增一条纪录的以前, 你要在db中判断你的主健当前
最大的编号,然后加一当做将新增纪录的编号.如原lookup最大的编号是10,那么
一个就是11了,
在form2中insert 这笔纪录到db以后. 您的form2就要关闭了,fomr2.close的时候, 您要让form1.dbgrid所连接的query控件刷新
query.close;
query其它如果有条件
query.open;
这样您的form1.dbgrid得到的就是新的数据了
如果再加上form1. DBGrid1.DataSource.DataSet.Locate('lookup',11,[loCaseInsensitive,loPartialKey ]);
dbgrid就可以得到您在form2中添加数据的焦点2: 你可以在combobox中写一些条件. 在他的change事件中,如果条件
改变的时候,你做一些动作. Dbgrid显示满足条件的纪录.就ok.
现在关键的式问题2
如何用dbgrid控件方便的记录那些记录被选中???
我尝试过用calcalated boolean 类型字段,但是checkbox是有了,但是都是只读,
另外我想,如果能够实现用户选择的记录能够以不同颜色显示出来那就最好不过了,我看到有些软件可以这样,理论上这个式可行的
上面有的要的答案!!
记录用不同的颜色显示也简单,根据你的计算字段的不同值,你可以在DBGrid1CustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean)事件中自定义CELL的颜色