【发布时间】:2015-03-29 18:03:18
【问题描述】:
嗨,我在 MVC 中使用 Jqgrid,要求就是这样。在 jqgrid 的模型弹出窗口中添加/编辑一行。我有 4 列。
DateFrom、DateTo、类型、备注
我正在使用 jquery datepicker..
我的要求
添加第一行后.. 在添加第二行.. DateFrom 字段(第二行)应该是之前添加行的 DateTo 字段的下一个日期.
这是我的网格
initDateEdit = function (elem) {
setTimeout(function () {
$(elem).datepicker({
dateFormat: "m-d-yy",
showOn: "button",
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true
});
}, 50);
},
initDateSearch = function (elem) {
setTimeout(function () {
$(elem).datepicker({
dateFormat: "m-d-yy ",
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true
});
}, 50);
},
jQuery("#dateGrid").jqGrid({
height: 100,
width: 1000,
colNames: ['DateFrom', 'DateTo', 'Type', 'Remarks'],
colModel: [
{
name: 'DateFrom', index: 'DateFrom', width: 60, editable: true, sorttype: "date",
formatter: 'date',
formatoptions: {
srcformat: 'm/d/Y',
},
editoptions: { dataInit: initDateEdit, size: 14 },
},
{
name: 'DateTo', index: 'DateTo', width: 80, editable: true, sorttype: "date",
formatter: 'date',
formatoptions: {
srcformat: 'm/d/Y',
},
editoptions: {
dataInit: initDateEdit, size: 14,
},
},
{
name: 'Type', width: 80, editable: true, formatter: "select",
edittype: "select", editoptions: { value: "Open:Open;Maintainance:Maintainance;Closed:Closed", defaultValue: "Open" },
},
{
name: 'Remarks', index: 'Remarks', width: 80, editable: true
}
,
],
// multiselect:true,
pager: "#datePager",
loadonce: true,
sortname: 'Client',
ignoreCase: true,
sortorder: 'asc',
gridview: true,
autoencode: true,
rowNum: 10,
rowList: [5, 10, 20, 50],
caption: "Add Durations",
viewrecords: true,
editurl: "clientArray",
onSelectRow: function (id) {
var selRows = $(this).jqGrid('getGridParam', 'selarrrow');
if (selRows.length > 1) {
btnEdit.disabled = true;
btnDel.disabled = true;
}
else if (selRows.length == 1) {
btnEdit.disabled = false;
btnDel.disabled = false;
}
},
}).jqGrid("navGrid", "#datePager", { search: true, edit: false, add: false, del: false, searchtext: "Search" }, {}, {}, {
multipleSearch: true,
overlay: false,
onClose: function () {
$("div#ui-datepicker-div.ui-datepicker").hide();
}
}).jqGrid("filterToolbar", { defaultSearch: "cn" });
});
所以现在我需要访问网格中第一行的 DateTo 值。并且在 DateFrom 的默认值中编写一个函数来将 1 加到从获取的日期DateTo 并将其显示在 DateFrom 有人可以给我任何演示/帮助,以了解如何使此功能正常工作吗? 谢谢!
【问题讨论】:
-
我找不到您的数据源?你是使用本地还是从服务器? DateFrom 默认值是需要从之前保存的行中获取还是总是从第一行获取?
-
这是用于创建的.. 所以没有 db .. 编辑时我从 db(server).. 本地存储它并操作它并发送它
-
顺便说一句,创建时我不会在网格中有任何数据..所以我应该让他们添加第一行..然后第二行..它应该采用 DateTo之前添加的行的日期和第二行的 DateFrom 的默认值应该是之前添加的行的 DateTo 的下一个日期..
-
这是细节网格.. 所以点击保存按钮我调用一个函数来发送主文件(由 txtboxes 组成)和这个细节网格......