Предположим, что Items и ItemTypes имеют числовые первичные ключи ItemID и ItemTypeID. Каждому элементу назначается тип элемента.
У меня есть JQGrid для редактирования элементов. Когда я не в режиме редактирования, я хотел бы видеть имя ItemType, а не ItemTypeID:
TYPE | TITLE
-----------+--------------------
Category A | Item 1
Category A | Item 2
Category B | Item 3
Category B | Item 4
В режиме редактирования я хочу увидеть раскрывающийся список, в котором отображается текст ItemType, но который возвращает ItemTypeID на сервер.
Вот что у меня есть (с помощью оболочки ASP.NET для JQGrid):
<trirand:jqgrid id="Grid1" runat="server" ... >
<columns>
<trirand:jqgridcolumn datafield="ItemID" editable="false" visible="false" width="50" primarykey="true" />
<trirand:jqgridcolumn datafield="ItemTypeID" editable="true" edittype="DropDown" editorcontrolid="ItemTypes" />
<trirand:jqgridcolumn datafield="Title" editable="true" sortable="true" />
...
</columns>
</trirand:jqgrid>
<asp:sqldatasource runat="server" id="ItemTypesDatasource" connectionstring="<%$ ConnectionStrings:Main %>" selectcommand="Select ItemTypeID,Title from ItemTypes order by Title" />
<asp:dropdownlist runat="server" id="ItemTypes" datasourceid="ItemTypesDatasource" datavaluefield="ItemTypeID" datatextfield="Title" />
Проблема в том, что, когда он не находится в режиме редактирования, он отображает числовой ItemTypeID, а не текстовые метки:
TYPE | TITLE
-----------+--------------------
100123 | Item 1
100123 | Item 2
100124 | Item 3
100124 | Item 4
Есть ли способ заставить JQGrid уважать различие между DataValueField и DataTextField? (Либо используя jQuery API, либо подключаемый модуль ASP.NET.)