‫۱۰ سال و ۳ ماه قبل، یکشنبه ۲۲ تیر ۱۳۹۳، ساعت ۱۶:۳۲
برای ارسال پارامترهای دلخواه به سرور از خاصیت postData استفاده کنید:
        function getHiddenColumnsList() {
            var colModel = $("#list").jqGrid('getGridParam', 'colModel');
            var hiddenColumns = new Array();
            
            if (!colModel)
                return hiddenColumns;

            for (var i = 0; i < colModel.length; i++) {
                if (colModel[i].hidden) {
                    hiddenColumns.push(colModel[i].name) ;
                }
            }
            return hiddenColumns;
        }

      $(document).ready(function () {
            $('#list').jqGrid({
                    // ... 
                    postData: { 'hiddenColumns': function() { return getHiddenColumnsList(); } }
                    // ... 
                });
       });
سمت سرور در اکشن متد GetProducts، خاصیت جدید hiddenColumns به صورت یک رشته که عناصر آن با کاما از هم جدا شده‌اند، قابل دریافت و آنالیز است.
و برای گزارش‌گیری با Pdf Report در تعریف ستون‌ها (مثلا ستون Id):
column.IsVisible(hiddenColumns.Split(',').All(col => col != "Id"));

یک نکته: ذکر function در postData ضروری است؛ وگرنه فقط یکبار محاسبه می‌شود.
‫۱۰ سال و ۳ ماه قبل، شنبه ۲۱ تیر ۱۳۹۳، ساعت ۲۳:۲۶
columnChooser رویداد done هم دارد که از آن می‌شود برای آنالیز ستون‌ها استفاده کرد:
            .jqGrid('navButtonAdd', '#pager',
            {
                caption: "تنظیم نمایش ستون‌ها", title: "Reorder Columns",
                onClickButton: function () {
                    jQuery("#list").jqGrid('columnChooser', {
                        done: function (perm) {
                            if (perm) {
                                $("#list").jqGrid("remapColumns", perm, true, false);
                            }

                            var colModel = $("#list").jqGrid('getGridParam', 'colModel');
                            var hiddenColumns = new Array();
                            for (var i = 0; i < colModel.length; i++) {
                                if (colModel[i].hidden) {
                                    hiddenColumns.push(colModel[i].name);
                                }
                            }

                            $.ajax({
                                type: "POST",
                                url: "@Url.Action("HiddenColumns","Home")",
                                dataType: "json",
                                traditional: true,
                                data: { hiddenColumns: hiddenColumns }
                            });
                        }
                    });
                }
            })
متد getGridParam با پارامتر colModel، آرایه‌ای از خواص ستون‌ها را بر می‌گرداند.
var colModel = $("#list").jqGrid('getGridParam', 'colModel');
در این خواص اگر hidden مساوی true بود، یعنی مخفی شده‌است. در نهایت از این‌ها می‌شود یک آرایه را تشکیل داد و به سرور ارسال کرد:
        public ActionResult HiddenColumns(string[] hiddenColumns)
        {
            //todo: save it in the DB or cookies or session ....

            return Content("OK");
        }
امضای اکشن متدی است که لیست نام ستون‌های مخفی را دریافت می‌کند.
در مطلب فعال سازی این فرم‌ها، متد centerDialog و نحوه‌ی اعمال آن به رخداد beforeShowForm عنوان شده. ایده‌ای هست در مورد نحوه‌ی مشخص سازی محل نمایش این فرم‌ها در صفحه.
‫۱۰ سال و ۳ ماه قبل، پنجشنبه ۱۹ تیر ۱۳۹۳، ساعت ۱۷:۴۲
مطالب مرتبط به هم سایت جاری را از طریق برچسب‌ها و گروه‌بندی‌های ذیل مطالب بهتر می‌توانید دنبال کنید.
- ویرایش inline
- تهیه خروجی
+
لیست مجموعه مثال‌ها و قابلیت‌های تکمیلی jqGrid (اگر قصد مقایسه دارید)
‫۱۰ سال و ۳ ماه قبل، چهارشنبه ۱۸ تیر ۱۳۹۳، ساعت ۱۹:۴۱
از تنظیمات hidden ستون‌ها استفاده کنید:
colModel:[
    {
       name:'providerUserId',
       index:'providerUserId', 
       width:100,
       editable:true, 
       editrules:{
           required:true, 
           edithidden:true
       }, 
       hidden:true,
       editoptions:{ 
          dataInit: function(element) { 
             $(element).attr("readonly", "readonly"); 
          } 
      }
},
//...
]
در اینجا فیلد فوق در گرید نمایش داده نمی‌شود (hidden:true)، در حین ویرایش نمایان خواهد شد (edithidden:true)، همچنین در قسمت dataInit (البته در صورت نیاز)، به صورت readonly تنظیم شده‌است.
‫۱۰ سال و ۳ ماه قبل، چهارشنبه ۱۸ تیر ۱۳۹۳، ساعت ۱۶:۲۴
- از formatterها برای سفارشی سازی و تغییر اطلاعات نهایی نمایش داده شده در یک سلول استفاده کنید.
- از callback ایی به نام beforeShowForm برای اضافه کردن عناصر سفارشی به فرم‌های ویرایش و افزودن رکوردها می‌شود استفاده کرد:
$.extend($.jgrid.edit, {
    bSubmit: "Save and Close",
    bCancel: "Cancel",
    width: 370,
    recreateForm: true,
    beforeShowForm: function () {
        $('<a href="#">Save and New<span class="ui-icon ui-icon-disk"></span></a>')
            .click(function() {
                alert("click!");
            }).addClass("fm-button ui-state-default ui-corner-all fm-button-icon-left")
              .prependTo("#Act_Buttons>td.EditButton");
    }
});