jqGrid jQuery Hexadecimal Colorpicker 来自虚拟列

Posted

技术标签:

【中文标题】jqGrid jQuery Hexadecimal Colorpicker 来自虚拟列【英文标题】:jqGrid jQuery Hexadecimal Colorpicker from dummy column 【发布时间】:2021-08-18 10:45:33 【问题描述】:

规范:使用了来自“http://trirand.com/blog/jqgrid/jqgrid.html”的基于试用版的 JqGrid 5.5。

我需要 ColModal 中的虚拟列作为最后一列(其他列具有来自服务器端的 Ajaxed 数据) 虚拟列应该有一个 Jquery Hexadecimal Colorpicker。

状态:我已成功创建一个虚拟列,但无法实现 Jquery-Color-Picker

要求:需要从列中获取多选行数据和从虚拟列中获取十六进制值

难道没有人有绝妙的想法吗?

【问题讨论】:

应该使用哪个颜色选择器? 我需要一个简单的基于 JQuery 的颜色选择器,以便其他列中的数据可以用从特定行中选择的颜色绘制图表。谢谢 【参考方案1】:

此处提供的解决方案使用自定义格式化程序和取消格式化函数来获取选定的值。对于演示,我们使用this colorpicker

$("#jqGrid").jqGrid(
    multiselect : true,
    colModel: [
        ...,
        // virual field  
         label : "Color",
            name: "color_picker",
            width : 100,
            formatter : function() 
                // create a custom button for the color picker
                return "<button class='colorpick'>Color</button>";
            ,
            // get the value from the button when using getRowData
            unformat : function( elem, op, cellval ) 
                return $("button",cellval).val();
            
        ,
        ...
    ],
    gridComplete : function() 
        // attach a colorpicker to the buttons
        $('.colorpick').colorpicker(
           inline: false,
           showNoneButton: true,
           showCloseButton: true,
           showCancelButton: true,
           colorFormat: ['#HEX'],
           modal: true
        );
    , 
    ...
);
$("#mybuttondata").on("click", function()
    // get the selected value from  colorpicker
    var get_selected  = $('#jqGrid').jqGrid('getGridParam', 'selarrrow');
    if(get_selected.length) 
        for(var i=0;i<get_selected.length;i++) 
            console.log( $('#jqGrid').jqGrid('getRowData',get_selected[i]));
        
    
);

【讨论】:

此示例有效,并且颜色选择器具有不显示列中选择的颜色的限制,而是显示十六进制值 thx Tony 提示 @N.S.Karthik,很高兴为您提供帮助。这只是一个关于如何使用它的例子。颜色选择器有很多选项,所以我们需要阅读所有选项。 Tony thx 代码 sn-p.. 我使用了 2 种类型的 Jquery 颜色选择器 a) jquery-simple-color b) 颜色选择器(如 u 所建议的)两者都有效

以上是关于jqGrid jQuery Hexadecimal Colorpicker 来自虚拟列的主要内容,如果未能解决你的问题,请参考以下文章

Web jquery表格组件 JQGrid 的使用 - 6.准备工作 & Hello JQGrid

子项目的jquery树网格(jqgrid)xml结构

Jqgrid + JQuery 自动完成多输入

Web jquery表格组件 JQGrid 的使用 - 全部代码

使用 jquery.BlockUI 插件禁用整个 jqGrid(jQuery Grid 插件)

Web jquery表格组件 JQGrid 的使用 - 11.问题研究