,我很樂意這樣做:)jqGrid的形式編輯:添加字段來我一直在使用的jqGrid因爲幾個月的形式
我使用的jqGrid成功在ASP.NET網頁應用程序,一切工作正常。我決定使用jqGrid表單編輯,因爲實體有很多我需要處理的屬性。 我知道如果colModel包含5列,它們會出現在模式對話框窗體上(編輯操作),如果屬性可編輯:true。此外,我可以設置4個屬性是可見的,最後一個隱藏(即使它可以出現在窗體上,通過設置edithidden:true)。
有沒有一種方法可以在colModel中設置4個屬性,但彈出模態窗體中有一個,兩個或多個字段?
編輯:
請看看這段代碼:
ajaxSelectOptions: { type: "POST", contentType: "application/json; charset=utf-8", },
colNames: [
'ID', 'Code', 'Number', 'Floor (nr.)', 'Descr', 'Type',
'Create by', 'Creation date',
'Status', 'Features'],
colModel: [
{ name: 'ID', index: 'id', width: 10, align: "center", search: false, sorttype: 'int', searchoptions: { sopt: ['eq', 'ne', 'cn'] }, editable: false, editoptions: { readonly: true} },
{ name: 'Code', index: 'Code', width: 20, align: "center", sorttype: 'text', searchoptions: { sopt: ['eq', 'ne', 'cn'] }, editable: false, editoptions: { readonly: true} },
{
name: 'Number',
index: 'Number',
width: 20,
align: "center",
sorttype: 'int',
searchoptions: { sopt: ['eq', 'ne', 'cn'] },
editable: true,
editoptions: { size : 20 },
editrules: { required: true }
},
{
name: 'Floor',
index: 'Floor',
width: 30,
align: "center",
sorttype: 'int',
search: false,
edittype: 'select',
editable: true,
editoptions: {
dataUrl: '<%# ResolveUrl("~/path/to/myCSharpWebService") %>',
buildSelect: function (data) {
var retValue = $.parseJSON(data);
var response = $.parseJSON(retValue.d);
var s = '<select id="myid" name="myid">';
if (response && response.length) {
for (var i = 0, l = response.length; i < l; i++) {
s += '<option value="' + response[i]["Id"] + '">' + response[i]["Descrizione"] + '</option>';
}
}
return s + "</select>";
}
},
editrules: { required: true }
},
{ name: 'Descr', index: 'Descr', width: 40, align: "center", sorttype: 'text', editable: true, editoptions: { size: 10} },
{
name: 'Type',
index: 'Type',
width: 50,
align: "center",
sorttype: 'text',
edittype: 'select',
editable: true,
editoptions: {
dataUrl: '<%# ResolveUrl("~/path/to/myCSharpWebService") %>',
buildSelect: function (data) {
var retValue = $.parseJSON(data);
var response = $.parseJSON(retValue.d);
var s = '<select id="myid2" name="myid2">';
if (response && response.length) {
for (var i = 0, l = response.length; i < l; i++) {
s += '<option value="' + response[i]["Id"] + '">' + response[i]["Descrizione"] + '</option>';
}
}
return s + "</select>";
}
},
editrules: { required: true }
},
{ name: 'CreatedBy', index: 'CreatedBy', align: "center", search: false, sorttype: 'text', width: 40, searchoptions: { sopt: ['eq', 'ne', 'cn'] }, editable: false, editoptions: { readonly: true} },
{ name: 'CreationDate', index: 'CreationDate', align: "center", search: false, sorttype: 'text', width: 30, searchoptions: { sopt: ['eq', 'ne', 'cn'] }, editable: false, editoptions: { readonly: true} },
{
name: 'Status',
index: 'Status',
width: 50,
hidden: true,
edittype: 'select',
editable: true,
editrules: { edithidden: true, required: true },
editoptions: {
dataUrl: '<%# ResolveUrl("~/path/to/myCSharpWebService") %>',
buildSelect: function (data) {
var retValue = $.parseJSON(data);
var response = $.parseJSON(retValue.d);
var s = '<select id="myid3" name="myid3">';
if (response && response.length) {
for (var i = 0, l = response.length; i < l; i++) {
s += '<option value="' + response[i]["Id"] + '">' + response[i]["Descrizione"] + '</option>';
}
}
return s + "</select>";
}
}
},
{
name: 'Features',
index: 'Features',
width: 50,
hidden: true,
edittype: 'select',
editable: true,
editrules: { edithidden: true, required: true },
editoptions: {
dataUrl: '<%# ResolveUrl("~/path/to/myCSharpWebService") %>',
buildSelect: function (data) {
var retValue = $.parseJSON(data);
var response = $.parseJSON(retValue.d);
var s = '<select id="myid4" name="myid4">';
if (response && response.length) {
for (var i = 0, l = response.length; i < l; i++) {
s += '<option value="' + response[i]["Id"] + '">' + response[i]["Descrizione"] + '</option>';
}
}
return s + "</select>";
}
}
}
],
這是我用來創建我的aspx頁面上的網格功能的提取物。從colModel可以看到10cols,但其中只有7個由jqGrid顯示;我需要別人的原因,當我在網格上編輯記錄時,我想以模式彈出窗體的形式顯示它們。現在
,我想寫下更乾淨的代碼:我寧願上添加編輯按鈕,點擊這些3個領域的彈出建成時,而不是在colModel
您是否想要自定義添加一些附加信息的編輯表單?你是否希望來自附加字段的值將被髮送到服務器?你想從哪裏獲得這些字段的信息?它只是來自隱藏列或其他信息的字段?我不確定你到底想要什麼。一個例子將清除所有。 – Oleg 2012-01-16 23:15:17
請看編輯部分... thx爲您的評論,奧列格(我真的很感激你的工作在stackoverflow) – frabiacca 2012-01-17 09:22:36