[...] dataKeyFields: "EmployeeNumber", // Это то, как вы устанавливаете dataKeys? [...]
Достаточно близко. На самом деле это «primaryKey»:
[...]
primaryKey: "НомерСотрудника",
[...]
И для второй части, я думаю, это не очевидно сразу, однако строка, которую вы передаете в качестве аргумента, является фактическим выбираемым элементом DOM TR, и вы можете (как предполагает ваша текущая настройка) просто выбрать ключ из его ячеек, например так:
var rowKey = $(ui.row.element).children().eq(0).text(); //may need to parse if int
Примечание. Метод eq() принимает нулевой индекс, и с точки зрения структуры дочерними элементами строки являются ячейки. В вашем случае столбец первичного ключа является первым (и единственным) и поэтому имеет индекс 0.
Другой подход, который я считаю более удобным для программирования, заключается в том, чтобы получить ключ прямо из источника данных (более понятный для чтения и не требующий синтаксического анализа):
var rowKey = ui.owner.grid.dataSource.dataView()[ui.row.index].EmployeeNumber;
Примечание. «Владелец» — это фактический виджет, отвечающий за событие (Выбор), и он имеет ссылку на вашу «сетку», откуда вы можете получить доступ к источнику данных. Чтобы получить записи, используйте «.data()» или «.dataView()» — последний содержит только фактические видимые строки, на которых основан индекс, и должен использоваться, если включены какие-либо дополнительные функции (разбиение по страницам, сортировка, фильтрация). ..).
Вот страница документации, которая (внизу) описывает, что предоставляют события выбора — http://help.infragistics.com/NetAdvantage/jQuery/2012.1/CLR4.0?page=igGrid_Selection_Overview.html
А вот полный справочник по API: http://help.infragistics.com/jQuery/2012.1/ui.iggridselection#events — отсюда вы можете копаться в API любой сетки/функции сетки/источника данных, а для событий есть образцы фрагментов со всеми перечисленными полезными параметрами.
P.S. Если целью не является управление выбором пользователей, рассмотрите возможность использования события «-ed», как в «rowSelectionChanged» — доступные параметры идентичны. Разница в том, что '-ing' срабатывает в середине выбора и блокирует пользовательский интерфейс, что может привести к не очень отзывчивому приложению, если вы добавите более сложную логику.
person
Damyan Petev
schedule
21.08.2012