uniDBGrid本身是支持checkBox多选的,但必须是Boolean的字段才行,只要是Boolean类型的字段,显示在uniDBgrid中就是带CheckBox的界面。
网上大多数人推荐的方法是在构建查询串的时候,在查询串中添加一个虚拟的Boolean字段来实现多选记录。但一个系统必然有很多的查询串,都要去加个虚拟字段,维护上太麻烦。可以利用TclientDataSet的计算字段来实现多选,而且不需要修改查询串。首先在设计界面添加以下组件
设置Query1的SQLConntcion属性为SQLConnection1。
设置Dsp1的Dataset属性为Query1.
设置Query1的SQL查询串为:select kh_name from khinfo (你可以更改为自己的实际数据查询)
设置CDS1的ProviderName属性为DSP1;
设置DataSource1的Dataset属性为CDS1;
设置uniGrid的Datasource属性为Datasource1.
后面简单的步骤如下:
1.在Delphi设计界面,给ClientDataset添加一个计算字段:CheckBox,如图: