我正在使用ExtJS 3.0网格并使用MySQL从PHP生成数据。我已在idProperty
列上设置了我的id
网格。问题是我有两张表用于传入发票,一张用于具有相同列的传出发票。我想在这两个表上创建一个UNION ALL并将结果显示在ExtJS网格中。问题是这些表中有一些重复的id会导致ExtJS网格跳过它们。我知道我可以做简单的UNION来跳过重复但是我需要网格中的每一行,即使它们具有相同的id。实际上没有我可以涉及的独特数据。
有什么想法吗?感谢。
答案 0 :(得分:5)
为什么不在SELECT
数据时为id-column添加一些前缀:
(SELECT CONCAT('in-', id) AS id, ... FROM in_table)
UNION ALL
(SELECT CONCAT('out-', id) AS id, ... FROM out_table)
您必须确保阅读器配置中id
- 字段的字段定义具有正确的类型(在这种情况下为auto
或string
)。< / p>
如果您之后需要真实id
,请更改查询以选择真实id
:
(SELECT CONCAT('in-', id) AS gid, id, 'in' AS type ... FROM in_table)
UNION ALL
(SELECT CONCAT('out-', id) AS gid, id, 'out' AS type, ... FROM out_table)
您的idProperty
现在将gid
。
答案 1 :(得分:1)
我认为id
在ExtJS中是可选的。如果将其关闭,网格将为每行计算自己的唯一ID。