[英]How to obtain the primary key of the selected row in bs_grid
我正在使用bs_grid顯示公司名稱列表。 每個公司名稱都有一個GUID標識符。 我這樣定義網格:
$(function() {
$('#grid1').bs_grid({
ajaxFetchDataURL: 'CompaniesList.asmx/GetCompanies',
row_primary_key: 'CompanyUID',
useFilters: false,
usePagination: false,
columns: [{
field: 'CompanyUID',
visible: 'no'
}, {
field: 'CompanyName',
header: 'Company Name'
}],
sorting: [{
sortingName: 'CompanyName',
field: 'CompanyName',
order: 'ascending'
}],
onRowClick: function(event, data) {
var selectedIds = $('#grid1').bs_grid('selectedRows', 'get_ids');
// here I need the primary key of the row, not the row index:
location.href = 'CompanyDetails.aspx?CompanyUID=' + selectedIds[0];
}
});
});
我已經把bs_grid js源代碼傾倒了,它並沒有讓我跳出如何基於row_id獲取行數據的想法。 我應該如何獲取這些信息?
好的,bs_grid希望主鍵是一個int。 這導致GUID無法正確讀取,並且data.row_id為“隨機”。
為了解決這個問題,我必須在結果中添加一個從1開始的行計數器,然后將其用於獲取CompanyUID的隱藏列的UID。
$(function() {
$('#grid1').bs_grid({
ajaxFetchDataURL: 'CompaniesList.asmx/GetCompanies',
row_primary_key: 'RowID',
useFilters: false,
usePagination: false,
columns: [
{ field: 'RowID', visible: 'no'},
{ field: 'CompanyUID', dataClass: 'td_code hidden', headerClass: 'td_code hidden'},
{ field: 'CompanyName', header: 'Company Name'}
],
sorting: [
{ sortingName: 'CompanyName', field: 'CompanyName', order: 'ascending'}
],
onRowClick: function(event, data) {
if(data.row_status == 'selected')
{
var row = $('[id^=tbl_grid1_tr_]:eq(' + data.row_id + ')');
var uid = row[0].childNodes[0].innerText;
location.href = 'CompanyDetails.aspx?CompanyUID=' + uid;
}
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.