ExtJS.使用查找表进行网格编辑

ExtJS.Grid editing with lookup table

本文关键字:网格 编辑 查找 ExtJS      更新时间:2023-09-26

我正在用ExtJS.Grid开发一个"简单"的CRUD。这个网格将引用一个DB表。我以这个例子为基础。

但是我不知道如何实现"Light"列查找。在要编辑的表中,它是一个int FK,引用另一个存储文本的表。

我不需要编辑查找表。我需要做的是查询它(我可以将其数据作为静态JSON提供,无需AJAX查询),以便用文本替换主表的FK。

编辑行必须显示为选择/下拉列表(如示例中所示)。当用户发送创建/更新操作时,它必须发送所选项目的ID,这样我才能将其写入表。

有几种可能的方法:

  1. 带有组合编辑器的列将通过dataIndex链接到外部id。这种方法非常简单,前提是您可以加载完整的组合存储,即没有太多记录。此外,您必须确保存储足够早地加载,并提供一个显示文本而不是id的列呈现器。

  2. 如果你需要一个远程商店进行combo,那么另一种方法会更好。从服务器传递FK(数字id)和每个网格记录的相应文本,将组合框链接到文本,而不是链接到id,并提供edit事件侦听器,当用户从组合框中选择时,该侦听器会更新id和文本。这种方法将与ExtJS网格示例中的远程组合中的代码一起详细描述