在jqwidget網格cellediting示例中(在jqxGrid左側菜單下,打開編輯/編輯),數據在客戶端生成。如何將dropdownlist綁定到asp.net .NET MVC3項目中的數據庫?(您可以在demo選項卡的產品列中看到下拉列表)網格單元格中的jqwidget下拉列表的數據庫綁定
1
A
回答
3
當與數據庫初始化下拉列表,應該將其綁定到數據源(或DataAdapter的) ,並應該設置selectedIndex。然後,對於行更新,選擇的值應保持在選擇狀態。
列定義可以是這樣的:
{ text: 'Urun', columntype: 'dropdownlist', datafield: 'UrunAdi', width: 177,
initeditor: function (row, cellvalue, editor) {
var urunId = $('#jqxgrid').jqxGrid('getcellvalue', row, "UrunId");
editor.jqxDropDownList({ displayMember: 'UrunAdi', source: dropdownListAdapter, selectedIndex: urunId });
$(document).on('select', editor, function (event) {
selectedUrunId = editor.jqxDropDownList('getSelectedIndex');
});
}
}
變量 「selectedUrunId」 應被全局定義的,也許像var selectedUrunId = -1;
jqxgrid初始化之前。然後在updaterow定義中(它在源定義中)應該使用選定的下拉值。這可能是這樣的:
if (selectedUrunId != undefined && selectedUrunId != -1) {
rowdata.UrunId = selectedUrunId;
selectedUrunId = -1;
}
此場景的整個場景是:
// prepare the data
var gridSource = {
datatype: "json",
datafields: [{ name: 'KargoId' }, { name: 'UrunAdi' }, { name: 'UrunId', type: 'int' }],
url: 'BindGrid',
updaterow: function (rowid, rowdata) {
// synchronize with the server - send update command
if (selectedUrunId != undefined && selectedUrunId != -1) {
rowdata.UrunId = selectedUrunId;
selectedUrunId = -1;
}
var data = $.param(rowdata);
$.ajax({
dataType: 'json',
url: 'UpdateEditGrid',
data: data,
success: function (data, status, xhr) {
gridDataAdapter.dataBind();
},
error: function (xhr, status, error) {
alert(JSON.stringify(xhr));
}
});
}
};
var gridDataAdapter = new $.jqx.dataAdapter(gridSource);
var dropdownSource = {
datatype: "json",
datafields: [{ name: 'UrunId' }, { name: 'UrunAdi'}],
url: 'BindDropdown'
};
var selectedUrunId = -1;
var dropdownListAdapter = new $.jqx.dataAdapter(dropdownSource);
// initialize jqxGrid
$("#jqxgrid").jqxGrid(
{
width: 670,
source: gridDataAdapter,
editable: true,
theme: theme,
selectionmode: 'singlecell',
columns: [
{ text: '#', datafield: 'KargoId', width: 40 },
{ text: 'Urun', columntype: 'dropdownlist', datafield: 'UrunAdi', width: 177,
initeditor: function (row, cellvalue, editor) {
var urunId = $('#jqxgrid').jqxGrid('getcellvalue', row, "UrunId");
editor.jqxDropDownList({ displayMember: 'UrunAdi', source: dropdownListAdapter, selectedIndex: urunId });
$(document).on('select', editor, function (event) {
selectedUrunId = editor.jqxDropDownList('getSelectedIndex');
});
}
}]
});
0
您可以使用名爲'createeditor'的函數並初始化其中的DropDownList。
列定義:
{ text: 'Proyecto', columntype: 'dropdownlist', datafield: 'jobid', width: 10,
createeditor: function (row, cellvalue, editor) {
editor.jqxDropDownList({ displayMember: 'displaylabel', valueMember: 'catalogvalue', source: dropdownListAdapter });
}
}
DropDownList的數據適配器可以通過使用類似的代碼進行初始化:
source = {
datatype: "xml",
datafields: [
{ name: 'CompanyName' },
{ name: 'ContactName' },
{ name: 'ContactTitle' },
{ name: 'City' },
{ name: 'Country' },
{ name: 'Address' }
],
async: false,
record: 'Table',
url: 'Default.aspx/GetCustomers',
};
var dropdownListAdapter = new $.jqx.dataAdapter(source,
{ contentType: 'application/json; charset=utf-8'}
);
相關問題
- 1. jqwidget json數據的網格單元格格式
- 2. 將網格綁定到下拉列表
- 3. 數據網格內的下拉列表
- 4. 網格視圖下拉列表數據綁定錯誤
- 5. 用下拉列表綁定數據網格
- 6. 數據網格的綁定列表
- 7. 如何使用VB從數據庫表格的GridView中綁定下拉列表?
- 8. 根據網格中的下拉列表選擇一個kendo單元格
- 9. 綁定數據庫到下拉列表
- 10. 從數據庫綁定下拉列表
- 11. 無法綁定telerik kendo mvc網格中的下拉列表
- 12. 角度JS雙向綁定網格中的下拉列表
- 13. 下拉列表中的數據綁定
- 14. 綁定下拉網格新行中的數據
- 15. 更新從下拉列表中指定的數據網格中的特定列
- 16. 綁定列表到數據網格
- 17. 將數據網格綁定到表格
- 18. 格式化數據綁定asp.net下拉列表
- 19. 將選定的列從數據表綁定到數據網格
- 20. 綁定的對象數據網格單元 - 有條件單元格樣式
- 21. 如何從下拉列表中替換表格單元格值?
- 22. 將數據庫數據綁定到下拉列表中
- 23. 更新表格中單個數據的多選下拉列表
- 24. 嘗試導入單元格數據基於單元格下拉
- 25. 獲取選定的值,放置在表格單元格內的下拉列表
- 26. 拉下表格視圖單元格
- 27. 根據下拉變化綁定/重新綁定Kendo網格
- 28. MVC3下拉列表中的網格列,獲取選定的值
- 29. 綁定下拉到網格視圖
- 30. 表格單元格中的下拉菜單
最初valueMember來(編號來了,而不是文本);那麼如果你嘗試選擇另一個項目,你可以看到下拉菜單的displayMember文字。另一個問題是,如果嘗試更新,錯誤的id值(或錯誤的valueMember)會轉到服務器。 – serefbilge 2012-07-10 22:04:25