easyui datagrid 自定义editor并根据实际情况(自定义options)判断返回多样的html控件

在添加的时候全部列都变成编辑状态,编辑的时候某些列不变成编辑状态,解决方法

1 自定义editor

$.extend($.fn.datagrid.defaults.editors, {
    Uploadfile: {//Uploadfile就是你要自定义editor的名称
        init: function (container, options) {
             /////通过options传参数
            var status = $("#hidMode").val();
            if (status == ‘edit‘) {
                var input = $("<a href=‘#‘ style=‘cursor:pointer;‘ value=‘" + options.url + "‘  onclick=‘ShowFile(this.value)‘  ></a>")
                           .appendTo(container);
            }
            else {
                var input = $("<input type=‘file‘  id=‘Uploadfile‘  name=‘Uploadfile‘/>")
                          .appendTo(container);
            }
            return input;
        },
        getValue: function (target) {

            return $(target).val();
        },
        setValue: function (target, value) {
            var status = $("#hidMode").val();
            if (status == ‘edit‘) {
                $(target).val($(target).val() + value);
                $(target).text(value);
            }
            else {
                $(target).val(value);
            }
        },
        resize: function (target, width) {
            var input = $(target);
            if ($.boxModel == true) {
                input.width(80);
            } else {
                input.width(width);
            }
        }
    }
});

dataGrid 使用 自定义editors

{
field: ‘文件名称‘, title: ‘文件名称‘, width: getWidth(0.1), align: ‘left‘, sortable: true,
 editor: {
 type: ‘Uploadfile‘,
options: { status: ‘‘, url: ‘/UploadFiles/MaterialFile/‘}
         }
}
///options里面不可以使用 value,传输的参数是文本
时间: 2024-10-27 12:45:50

easyui datagrid 自定义editor并根据实际情况(自定义options)判断返回多样的html控件的相关文章

JQuery easyUi datagrid 中 editor 动态设置最大值最小值

前言 近来项目中使用到 easyui 来进行页面设计,感觉挺方便的,但是网上除了api外,其他有价值的资料比较少,故在此分享一点经验,供大家参考. 问题 JQuery easyUi datagrid 可编辑行的editor属性具有 min 和 max 属性,设置可以输入的最大值和最小值,但是这个是固定的,如下: [html] view plain copy {field:'workRate',title:'<%/*填报*/%><bean:message key="task.wo

ListView使用自定义适配器的情况下实现适配器的文本和图标控件点击事件执行Activity界面中的方法

ListView使用的是自定义适配器,列表项的布局文件中含有文本和图标,实现文本区域和图标区域的点击事件. 实现思路:在自定义适配器MyArrayAdapter 类型中自定义接口和接口方法,分别设置文本区域和图标区域的OnClickListener,然后在activity界面中MyArrayAdapter实例实现这个接口. 1.listitem布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLa

自定义View控件(2—手写实例代码)

1. 步骤: + 1.自定义一个类继承于UIView + 2.在initWithFrame方法中添加子控件 + 3.在layoutSubviews中设置子控件的位置 + 4.提供一个属性保存外界传入的数据(模型对象), 重写setter方法设置子控件的数据 - 类工厂方法(便利构造器) + 按照苹果的风格和规范, 一般情况一个用于创建对象的对象方法会对应一个类方法 + 可以通过类工厂方法, 快速的根据数据创建一个对象 - 注意点: + 返回值一定要使用instancetype, 不要使用id +

自定义视图(组合控件)

前言 Android自定义控件主要分为两种,一种是通过继承View来实现自定义控件,另一种是通过组合已有到控件来实现自定义控件,上篇文章自定义视图(继承View)我们介绍了下继承View到方式,这篇文章简单介绍下组合控件来实现自定义控件. 有些情况我们需要通过组合已有到控件来实现特定功能到控件组建,比如一个应用到题头,大概样式如下 Java代码 通过组合控件来实现自定义控件到方式,是通过继承一个ViewGrou对象来实现,比如LinearLayout, FrameLayout, Relative

自定义View控件(手写,xib)须知

 1. 目的 :提高代码的复用性,屏蔽内部的实现细节 2. 步骤 :    * 1> 自定义一个类继承于UIView   * 2> 在initWithFrame方法中添加子控件   * 3> 在layoutSubviews中设置子控件的位置   * 4> 提供一个属性保存外界传入的数据(模型对象), 重写setter方法设置子控件的数据 3. 类工厂方法(便利构造器):   * 按照苹果的风格和规范, 一般情况一个用于创建对象的对象方法会对应一个类方法   * 可以通过类工厂方法,

Xamarin.Forms自定义用户界面控件实现一个HybridWebView(混合webview)

原文:Implementing a HybridWebView呈现一个特定于平台的视图 Xamarin.Forms自定义用户界面控件应该来自视图类(View class),用于在屏幕上放置布局和控件.本文演示了如何为HybridWebView(混合webview)自定义控件创建自定义渲染器,该控件演示了如何增强特定平台的web控件,以允许从JavaScript调用c#代码. 每一个Xamarin.Forms视图为每个创建本地控件实例的平台提供了相应的渲染器.当一个视图被Xamarin.Forms

Android 自定义View控件

一.简介 在自定义View时,我们通常会重写onDraw()方法来绘制View的显示内容.如果,该View还需要使用wrap_content属性,那么还必须重写onMeasure()方法.另外,通过自定义attrs属性,还可以设置新的属性配置值. 在View中通常有以下一些比较重要的回调方法: onFinisInflate():从XML加载组件后回调: onSizeChanged():组件大小改变时回调: onMeasure():回调该方法来进行测量: onLayout():回调该方法来确定显示

Android中自定义组合控件

Android中自定义控件的情况非常多,一般自定义控件可以分为两种:继承控件及组合控件.前者是通过继承View或其子类,重写方法实现自定义的显示及事件处理方式:后者是通过组合已有的控件,来实现结构的简化和代码的重用. 本篇文章主要介绍自定义组合控件,继承控件后续有机会再述. 自定义组合控件一般来说都是以ViewGroup及其子类(LinearLayout.RelativeLayout.FrameLayout等)为主,内部嵌套其他控件,来组合成一个新的控件,实现一些特定的需要,可以是代码简化,结构

给easyui datebox时间框控件扩展一个清空的实例

给easyui datebox扩展一个清空的实例 步骤一:拓展插件 /** * 给时间框控件扩展一个清除的按钮 */ $.fn.datebox.defaults.cleanText = '清空'; (function ($) { var buttons = $.extend([], $.fn.datebox.defaults.buttons); buttons.splice(1, 0, { text: function (target) { return $(target).datebox("o