У меня есть базовая реализация jqgrid.
$('.fsJqGrid').jqGrid({
datatype: "local",
height: 175,
colNames: ['FeatureId', 'Name', ''],
colModel: [
{ name: 'FeatureId', index: 'FeatureId', width: 75, align: 'left',
sorttype: "int", hidden: true, key: true },
{ name: 'Name', index: 'Name', width: 180 },
{ name: 'tools', index: 'tools', width: 150}
]
});
function FeatGridAddRow(jqTableName, feature) {
///<summary>Adds a row of data to a Feature JQGrid</summary>
var RowId = $("#" + jqTableName).jqGrid('getGridParam', 'reccount');
feature.tools = 'MyToolHtml';
$("#" + jqTableName).jqGrid('addRowData', RowId, feature); //jqgrid
} //function
function FeatGridUpdateRow(featureId, newName) {
///<summary>Updates JQGrid data row</summary>
//I need to find the rowId, based on the featureId parameter
var rowId = 0;
//update grid with new data
$("#tabFS0").jqGrid('setRowData' , rowId , {Name: newName});
} //function
Я хочу иметь возможность обновлять строку данных, но для этого нужно знать rowId.
Единственные данные, которые у меня есть, это значение ключа (featureId).
Так что я ищу способ найти rowId на основе значения первичного ключа, которое я знаю.
Я просматривал документацию по jqgrid и не вижу очевидного способа сделать это.
ОБНОВЛЕНИЕ: Ответ заключается в использовании моей таблицы PK в качестве rowId.
Итак, в функции добавления;
var RowId = $("#" + jqTableName).jqGrid('getGridParam', 'reccount');
$("#" + jqTableName).jqGrid('addRowData', RowId, feature);
становится
$("#" + jqTableName).jqGrid('addRowData', feature.FeatureId, feature);