';日期至';应该是'的开始;日期为';模态弹出jqgrid

';日期至';应该是'的开始;日期为';模态弹出jqgrid,jqgrid,mvcjqgrid,Jqgrid,Mvcjqgrid,Hi im在MVC中使用Jqgrid,要求如下。。在jqgrid的模型弹出窗口中添加/编辑行。。我有4列.. 日期自,日期至,类型,备注 我正在使用jquery日期选择器.. 我的要求 添加第一行后。。添加第二行时。。DateFrom字段(第二行)应该是先前添加行的DateTo字段的下一个日期 这是我的网格 initDateEdit = function (elem) { setTimeout(function () {

Hi im在MVC中使用Jqgrid,要求如下。。在jqgrid的模型弹出窗口中添加/编辑行。。我有4列..
日期自日期至类型备注
我正在使用jquery日期选择器..
我的要求
添加第一行后。。添加第二行时。。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 有人能给我一些演示/帮助,告诉我如何让这个功能正常工作吗?
谢谢

这就是我最终找到的解决方案

jQuery(“#GridId”).jqGrid({

高度:100,
宽度:1000,
colNames:['Date From','Date To','Type','comments'],
colModel:[
{
名称:“DateFrom”,索引:“DateFrom”,宽度:60,可编辑:true,sorttype:“date”,
格式化程序:“日期”,
格式选项:{
SRC格式:“m/d/Y”,
},
editoptions:{dataInit:initDateEdit,大小:14,
defaultValue:函数(){
var id=$(“#GridId”).jqGrid('getdataid');
如果(id.length>=1){
//获取第一个id
var cl=ids[0];
//获取行数据
var rowData=$(“#GridId”).getRowData(cl);
//获取单个单元格值
var celValue=$(“#GridId”).jqGrid('getCell',cl',DateTo');
var currentTime=新日期(celValue);
var month=parseInt(currentTime.getMonth()+1);
月份=第12个月)
{
月=1;
年份++;
}                              
返回月份+“/”+天+“/”+年;
}
返回null;
}
},
},
{
名称:“DateTo”,索引:“DateTo”,宽度:80,可编辑:true,sorttype:“date”,
格式化程序:“日期”,
格式选项:{
SRC格式:“m/d/Y”,
},
editoptions:{dataInit:initDateEdit,大小:14},
},
{
名称:“类型”,宽度:80,可编辑:true,格式化程序:“选择”,
edittype:“选择”,editoptions:{value:“占用:占用;空闲:空闲;维护:维护”,defaultValue:“占用”},
},
{
名称:“备注”,索引:“备注”,宽度:80,可编辑:true
}
,
],
//多选:对,
寻呼机:“#GridPAger”,
有一次:是的,
可排序:是的,
sortname:“客户端”,
ignoreCase:是的,
排序器:“asc”,
gridview:没错,
自动编码:正确,
rowNum:10,
行列表:[5,10,20,50],
viewrecords:是的,
editurl:“客户端阵列”,
OnSetrow:功能(id){
var selRows=$(this).jqGrid('getGridParam','selarrrow');
如果(selRows.length>1){
btnEdit.disabled=真;
btnDel.disabled=真;
}
else if(selRows.length==1){
btnEdit.disabled=false;
btnDel.disabled=false;
}
},
}).jqGrid(“navGrid”、“#GridPAger”、{search:true、edit:false、add:false、del:false、searchtext:“search”}、{}、{}、{
多重搜索:对,
覆盖:假,
onClose:function(){
//如果我们在数据采集器打开期间关闭搜索对话框
//日期选择器将保持打开状态。要解决此问题,我们必须隐藏
//日期选择器使用的div
$(“div#ui-datepicker-div.ui-datepicker”).hide();
}
}).jqGrid(“filterToolbar”,{defaultSearch:“cn”});
});

我找不到您的数据源?您使用的是本地还是从服务器?DateFrom默认值是否需要从上一个保存的行获取,还是始终从第一行获取?这用于创建。。所以没有db。。编辑时,我从数据库(服务器)获取它。。本地存储并处理它,并在创建时发送顺便说一句,我不会在网格中有任何数据。。因此,我应该让他们添加第一行。。那么第二排。。它应该是先前添加行的DateTo,第二行的默认值DateFrom应该是先前添加行的下一个DateTo日期。这是详细信息网格。。所以,点击保存按钮,我调用一个函数来发送主机(由txtboxs组成)和这个详细的网格。。。
        height: 100,
        width: 1000,
        colNames: ['Date From', 'Date To', '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 ,
                    defaultValue: function () {




                        var ids = $("#GridId").jqGrid('getDataIDs');
                        if (ids.length >= 1) {
                            //get first id
                            var cl = ids[0];
                            //fetch row data 
                            var rowData = $("#GridId").getRowData(cl);
                            //fetch individual cell value
                            var celValue = $("#GridId").jqGrid('getCell', cl, 'DateTo');

                            var currentTime = new Date(celValue);

                            var month = parseInt(currentTime.getMonth() + 1);
                            month = month <= 9 ? "0" + month : month;

                            var day = currentTime.getDate();
                            day = day <= 9 ? "0" + day : day;

                            var year = currentTime.getFullYear();
                           var  months= [31,28,31,30,31,30,31,31,30,31,30,31];

                           var ndays = months[month - 1];
                            if (month == 02)
                            {
                                if (year % 100 == 0)
                                {
                                    if (year % 400 == 0)
                                        ndays=29;
                                }
                                else
                                    if (year % 4 == 0)
                                        ndays=29;
                            }
                            day = day + 1;

                            if(day>ndays)
                            {
                                day = 1;
                                month++;
                            }
                            if (month > 12)
                            {
                                month = 1;
                                year++;
                            }                              
                            return month + "/" + day + "/" + year;
                        }

                        return null;

                    }
                },



            },
            {
                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: "Occupied:Occupied;Vacant:Vacant;Maintainance:Maintainance", defaultValue: "Occupied" },
            },
             {
                 name: 'Remarks', index: 'Remarks', width: 80, editable: true
             }
            ,
        ],
        // multiselect:true,
        pager: "#GridPAger",


        loadonce: true,
        sortable:true,

        sortname: 'Client',
        ignoreCase: true,
        sortorder: 'asc',
        gridview: true,
        autoencode: true,
        rowNum: 10,
        rowList: [5, 10, 20, 50],

        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", "#GridPAger", { search: true, edit: false, add: false, del: false, searchtext: "Search" }, {}, {}, {
        multipleSearch: true,
        overlay: false,
        onClose: function () {
            // if we close the search dialog during the datapicker are opened
            // the datepicker will stay opened. To fix this we have to hide
            // the div used by datepicker
            $("div#ui-datepicker-div.ui-datepicker").hide();
        }
    }).jqGrid("filterToolbar", { defaultSearch: "cn" });
});