我正在尝试将数据库表中的数据显示到 DBAdvGrid 中,以便第一列仅显示复选框,而其他 3 列将显示数据库表中的标签、描述和图像字段。我正在使用 UniConnection、UniQuery、UniDatasource 组件来显示数据。我通过代码设置 UniConnection 数据库属性,因为我可以提供数据库的相对路径而不是完整路径。在对象检查器中,它只接受数据库的完整路径。
我的代码如下在 FormCreate 事件中
filepath1 := ExtractFilePath(Application.ExeName);
UniConnection1.Database := filepath1+'empdata.s3db';
UniConnection1.Connected := True;
UniQuery1.SQL.Text := 'Select '', label, description, image from emp';
UniQuery1.Open;
DBAdvGrid1.Columns[0].FieldName := '';
DBAdvGrid1.Columns[2].FieldName := 'label';
DBAdvGrid1.Columns[3].FieldName := 'description';
DBAdvGrid1.Columns[4].FieldName := 'image';
上面的代码成功连接并显示数据,但问题是在 DBAdvGrid 显示数据,因为我希望第一列仅显示复选框(没有来自 DB 的数据)。在 DBAdvGrid,我无法通过对象检查器设置特定列的字段名称,因为它通过提取路径通过代码连接到数据库。
我已将DBAdvGrid
编辑器类型属性的第一列设置为,edDataCheckBox
以便它将在第一列中显示复选框,但它与标签数据重叠,同样在第二列显示“描述”,在第三列图像。
如何通过代码自定义它以便显示
1st column - No Data
2nd column - label
3rd column - description
4th column - image
我得到了什么
1st column - label overlapped with checkbox
2nd column - description
3rd column - image {MEMO}
4th column -
如何解决这个问题?