【问题标题】:fix data property name in gridview修复gridview中的数据属性名称
【发布时间】:2014-03-17 17:21:01
【问题描述】:

我有 2 张桌子:

table1:姓名、家庭、cityID 表2:cityID,cityName

我有一个gridview,它的数据源是: select * from table1, table2 where table1.cityID = table2.cityID

我禁用了 autoCreatColumns

我在我的数据网格中添加了 3 列。

在第一列中,我将数据属性名称固定为 name 在第二列中,我将数据属性名称固定为 family 但是在第三列中,当我将数据属性名称修复为 table2.cityName 时,它​​不起作用...

我想在第三列显示城市名称。

这是一个例子,但实际上,我在另一个表中有cityName,如果我只使用cityName,则会出错

任何人都可以帮助我吗? 谢谢...

【问题讨论】:

  • 不提供table2.cityName,只需将cityName 作为第三列的DataPropertyName。
  • 您使用哪种方式获取数据源?简单查询、存储过程还是实体框架?可能存在类似 1) 列在选定集中重命名的问题 2) table1 中有另一个具有此名称的列
  • 这是一个例子,但事实上,我在另一个表中有 cityName,如果我只使用 cityName,则会出错

标签: c# datagrid


【解决方案1】:

尝试改变 select * from table1, table2 where table1.cityID = table2.cityID

收件人

select table1.name 作为 Name,table1.family 作为 Family,table2.cityName 作为 City from table1, table2 where table1.cityID = table2.cityID

【讨论】:

  • 感谢您的回答,但这是一个例子,我有很多列无法重命名所有列
  • 好吧..那么我只是根据我的经验提供一些提示,如果您在查询中使用联接,则选择全部可能是错误的方式。如果您无法重命名所有列,请尝试一一选择它们。希望这对您有所帮助
【解决方案2】:
SELECT name,family,cityName from table1 INNER JOIN table2 ON table1.cityID = table2.cityID 

当您在两个表上使用城市 ID 进行内部连接时..U 将获得匹配的表 ID 与名称、城市名称

【讨论】:

    【解决方案3】:

    您不需要写table2.cityName,只需写cityName,它应该可以工作。

    【讨论】:

    • 这是一个例子,但事实上,我在另一个表中有 cityName,如果我只使用 cityName,则会出错
    • 一次您可以将一个源绑定到一个 Girdview,例如DataTable,尝试将所有列集中到一个源中,然后使用 cityName。
    猜你喜欢
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    相关资源
    最近更新 更多