亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用免費的jqgrid屬性有條件地添加操作按鈕

如何使用免費的jqgrid屬性有條件地添加操作按鈕

森林海 2019-11-03 04:04:39
免費的jqgrid顯示訂單。發布的訂單應具有黃色背景,并且只能打開操作按鈕。未發布的訂單具有白色背景,標準刪除和自定義發布操作按鈕。在loadComplete中為所有行創建自定義操作按鈕:                     .addClass("ui-pg-div ui-inline-post")                 .append('<span class="fa ui-state-default fa-fw fa-lock"></span>')                 .prependTo($(this).children("div"));                   $("<div>",                       {                           title: "Open (Enter)",                           mouseover: function() {                               $(this).addClass('ui-state-hover');                           },                           mouseout: function() {                               $(this).removeClass('ui-state-hover');                           },                           click: function(e) {                               openDetail($(e.target).closest("tr.jqgrow").attr("id"));                           }                       }                    )               }); 在使用如何使用Fontawesome復選框格式化程序從免費jqgrid中的已發布行中刪除操作按鈕中的代碼有條件地刪除了按鈕之后,有條件地禁用了行編輯并更改了背景。如何使用免費的jqgrid actions選項簡化此代碼?如何創建統一的方式來隱藏標準編輯和刪除以及用戶定義的操作按鈕?即使可以使用回調有條件地禁用自定義按鈕創建,隱藏標準按鈕仍需要DOM修改。也許以相同的方式定義所有動作按鈕。也許可以使用現有的rowattr或cellattr回調或引入新的回調來完成。當前行et只能在下面的代碼中使用讀取row.className = className + ' jqgrid-postedrow not-editable-row';$(row.cells[iActionsCol]).attr('editable', '0');合理地做到這一點,以便diableRows可以完全刪除嗎?也許可以使用rowattr()代替它。
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

我做了一些更改,formatter: "actions"以簡化您的方案的實現。該演示演示了如何使用新功能。如下圖所示顯示網格


在此處輸入圖片說明


該演示將Action列定義colModel為


{ name: "act", template: "actions", align: "left", width: 58 }, // 58 = 2 + 18*3 + 2

并且它使用actionsNavOptions(可以formatoptions替代使用)來配置以下選項formatter: "actions":


actionsNavOptions: {

    editbutton: false,

    custom: [

        { action: "open", position: "first",

            onClick: function (options) {

                alert("Open, rowid=" + options.rowid);

            } },

        { action: "post", position: "first",

            onClick: function (options) {

                alert("Post, rowid=" + options.rowid);

            } }

    ],

    posticon: "fa-lock",

    posttitle: "Confirm (F2)",

    openicon: "fa-folder-open-o",

    opentitle: "Open (Enter)",

    isDisplayButtons: function (options, rowData) {

        if (options.rowData.closed) { // or rowData.closed

            return { post: { hidden: true }, del: { display: false } };

        }

    }

}

數組custom定義了動作名稱position和onClick回調。要定義自定義按鈕的圖標和標題(工具提示),應在導航欄選項附近指定選項。它們指定圖標類的屬性將從動作名稱(被構造open和post在上面的例子)和后綴"icon"以相同的方式將被定義為按鈕標題屬性的值。


回調isDisplayButtons允許根據行和rowid的數據通知jqGrid有關按鈕的顯示。該options參數與您從自定義格式化程序中了解的選項相同。options.rowId例如是rowid。最新版本的免費jqGrid(第4.8版)通過包含擴展了這些選項rowData。您可以看到的第二個參數isDisplayButtons已經是rowData。options.rowData和rowData數據格式之間的主要區別。在使用情況下,XML輸入rowData參數是輸入數據的XML項。另一方面,選項options.rowData是具有屬性的對象,例如中的name屬性colModel。尤其是在使用loadonce: trueXML數據的情況下,options.rowData有優勢。在上述演示options.rowData和rowData是相同的。


回調isDisplayButtons應返回與動作名稱具有相同屬性的對象{ post: {...}, open: {...}, del: {...}, edit: {...}, save: {...}, cancel: {} }。每個此類對象的屬性可以是


hidden: true-表示將按鈕包括在列中,但將其隱藏。稍后可以顯示該按鈕。在save和cancel按鈕默認隱藏。

display: false-表示完全不包含該按鈕。del: {display: false}例如,返回具有與option相同的效果delbutton: false,但del: {display: false}僅適用于一行。

noHovering: true可用于onmouseover="jQuery(this).addClass('ui-state-hover');" onmouseout="jQuery(this).removeClass('ui-state-hover');"從指定的操作按鈕中刪除懸停效果()。



查看完整回答
反對 回復 2019-11-04
  • 1 回答
  • 0 關注
  • 609 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號