Delphi DBGrid不显示数据

vwoqyblh  于 9个月前  发布在  其他
关注(0)|答案(5)|浏览(220)

我有一个 Delphi 表单,里面有TFDConnection,TFDQuery,TDataSource和TDBGrid(select * from table_1)并将其放入DBGrid中。我已经建立了组件之间的所有连接,但在我启动查询后,(返回12行)在我的DBGrid中显示了12行,但它们是空的。显然我忘记了一些东西,使我无法在DBGrid中看到我的数据。你能帮助我在我的DBGrid中缺少什么吗?行动?

  • 1-将所有组件添加到表单中。
  • 2-连接FDQuery与FDConnection,TDataSource与FDQuery,DBGrid与TDataSource。
  • 3-连接参数测试成功(问题不在我的连接参数中)
  • 4-DBGrid中的行数(12),但没有可见的信息。
  • 5-如果我遍历我的FDQuery,我可以看到我需要的所有信息,但这并不能帮助我填充我的DBGrid。
lrl1mhuk

lrl1mhuk1#

你能试试这个吗:
在Form的OnShow代码中显式激活TFDQuery。像这样,

procedure TForm.FormShow(Sender: TObject);
begin
    FDQuery.Active:= True;
end;

字符串
这对我很有效,希望能有所帮助。

41zrol4v

41zrol4v2#

如果DBGrid的DefaultDrawing属性设置为False,那么您将看到DBGrid中的行数正确,但网格的单元格为空。如果DBGrid是这种情况,显然只需将DefaultDrawing设置为True

myzjeezk

myzjeezk3#

为了解决这个问题(我也遇到过同样的问题),在打开查询后,设置:

datasource.dataset := Query

字符串
问题就解决了

6jygbczu

6jygbczu4#

我知道这个主题已经很老了,但也许它能帮助到一些人。在我的例子中,解决方案是:删除所有在设计时创建的DBGrid列,或者将列的(TColumnFieldName 属性与数据库表中命名的字段名称精确匹配。

zqdjd7g9

zqdjd7g95#

对于有此问题的其他人,这里有一个解决方法:确保网格控件中的列名(不是Title)与查询中的字段名匹配。

相关问题