EasyUI中对datagrid的扩展方法】的更多相关文章

以下是给datagrid扩展一个方法的demo 1.给datagrid添加一个属性 $.extend($.fn.datagrid.defaults, { demo: "demo1" }); 2.给datagrid添加一个方法 $.extend($.fn.datagrid.methods, { test1: function (jq, param) { alert(“ok”); } }); 3.调用方法 $('#dg').datagrid('options').demo;//这里取新加的…
新建一个.NET Core项目,假如我们有如下代码: using System; namespace MethodOverload { static class DemoExtension { public static int GetNumber(this Demo d,int i) { Console.WriteLine("DemoExtension GetNumber was called!"); return i; } } class Demo { public int Get…
项目中遇到这么一个问题,在easyui的datagrid中,删除一条记录成功,重新加载datagrid后,去点编辑操作,仍可把之前删除掉的那条记录进行编辑操作,正常情况应该是,删除后再去点击“编辑”,应提示没有被选中的记录.现在这个情景说明,在datagrid删除数据重新加载后,当datagrid调用getSelections方法时,仍能返回之前删除的那条记录.这时,要解决这个问题,应该在删除数据重新加载datagrid后再清空selections.代码如下: /**删除选中救援任务*/func…
因为项目的需求,需要在grid中加载数据后再在前端页面执行操作,所以在easyui中的grid与jqgrid都进行了测试和操作: eayui中grid数据的操作: //构造集合对象 var list = []; var rows = $("#grid").datagrid("getRows"); for (var i = 0; i < rows.length; i++) { list.push({ 'Qfk_id': rows[i].Qfk_id ,'Qfk_…
前段时间做了一个练手的小项目,采用的是三层架构,也就是Models,IDAL,DAL,BLL 和 Web , 在DAL层中各个类中有一个方法比较常用,那就是 RowToClass ,顾名思义,也就是将 DataTable 中的数据封装到 Models 中.结果导致在DAL各个类中写了很多类似的方法,后来就直接把它抽取出来做成了 DataTable和 DataRow的扩展方法, 下面是代码: using System; using System.Collections.Generic; using…
结贴说明: 很感谢sp1234等人的热心帮忙和提醒,现在我主要说明下问题所在: 首先我在独立的js文件中,直接把测试数据loaddata进去datagrid是没有问题的.var kk = {"total":2,"rows":[{"INSTANCE_ID":"BI00000011","BUSINESS_NAME":"专项检查文档资料报送","INSTANCE_STATUS&quo…
easyUI  datagrid在列头加下拉框,实现对列内容的筛选. 代码: onLoadSuccess: function (data) {//Fires when data is loaded successfully. typeFilt();//表头类型下拉框 $('#pp').pagination('refresh', { total: data.total, pageNumber: data.page }); toopTip(".downloadPic","下载&q…
注意如下几个点就行: 1.数据网格(DataGrid)所在的table属性上级div无需设置width: 2..datagrid属性:fitColumns为false 或者不填 3.在style中给.datagrid-body设置 overflow:auto; <style> .datagrid-body{ overflow:auto; } .datagrid-header-row > td { border-bottom: 1px solid #DFDFDF !important; }…
一.关于DataGrid的分页和排序参数 对于分页参数不需要用户指定,程序在AJAX请求的时候会带上分页和排序需要的参数 每页显示条数:rows 当前页:page 排序字段:sort  [multiSort如果设置为true,则会发送多个排序字段,如:id,time,最新的在最后] 排序类型:order [multiSort如果设置为true,则会发送多个排序字段排序类型,如:asc,desc,最新的在最后] 二.关于DataGrid传递参数传递参数可以使用属性:queryParams 形式:q…
// 获取选中一行的情况,下面的一个参数可以代表一个DataGridfunction getSelected(dialogEle,dataFileTextEle) { // 获取选中一行的情况. var datagrid = $("#fileInfoDataGrid").datagrid('getSelected'); if (datagrid == null) { $.messager.alert('提示窗口','对不起,您还没有选择文件!','info'); } else { if…
EasyUI中的datagrid控件十分强大,能生成各种复杂的报表,现在因为项目需要,需要生成一个表头两行的表,找了一些说明文档,以下用一个实例来说明一下: 第一种方法: $('#divData').datagrid({ border : , nowrap : false, fit : true, url: '<%=request.getContextPath()%>/report/showreport.action', frozenColumns: [[ { title: , sortabl…
在学习过程中,可以参照JQuery EasyUI的官方网站学习.地址:http://www.jeasyui.com/demo/main/index.php 在学习JQuery EasyUI中的DataGrid标签时,可以参照http://www.jeasyui.com/documentation/datagrid.php进行学习. 本文主要讲解DataGrid标签的使用,怎么设置参数,怎么向后台请求数据等. 在使用过程中,我使用的是1.4版本,存在一个问题,当请求数据为0行时,会重新请求一次.…
easyui中的datagrid使用起来,确实还是挺轻巧方便,但是其中也有不少的问题,尤其遇到客户的一些特殊的需求时往往实现得不是很好.这个时候就需要我们自己动手来修改easyui的源码了.easyui的源码我也稍有阅读,其中的设计方式确实是相当巧妙,但是给人最大的感受是源码中的变量方法名都是用的没有意义的数字和字母,这对于阅读源码确实比较的麻烦. 说了这么多,直入主题吧,我们最近在给某保险公司做一个财务系统,因为是财务系统,就得经常用到列表,而且财务会计他们要求的列表格式又是相当的苛刻.前不久…
开篇:在上一篇中,我们了解了自动属性.隐式类型.自动初始化器等所谓的新语法,这一篇我们继续征程,看看匿名类.匿名方法以及常用的扩展方法.虽然,都是很常见的东西,但是未必我们都明白其中蕴含的奥妙.所以,跟着本篇的步伐,继续来围观. /* 新语法索引 */ 1.自动属性 Auto-Implemented Properties 2.隐式类型 var 3.参数默认值 和 命名参数 4.对象初始化器 与 集合初始化器 { } 5.匿名类 & 匿名方法 6.扩展方法 7.系统内置委托 Func / Acti…
easyUI中的datagrid数据表格经常被用到,结合项目中的使用情况,总结一下datagrid使用中需要注意的一些问题.使用datagrid展示数据,需要在html.css.js中都要编写代码,html中主要是确定datagrid在网页中的位置,css来设置datagrid的样式,js填充datagrid数据. 一 html部分 示例代码如下: <div class="columntablebox" > <table id="columnTable&qu…
在实际应用中,开发者完成代码的编译后,除非重新编译更改后的代码,否则开发者很难在原有代码中添加新的功能. 在C#3.0中,提供了一个扩展方法的新特性,可以使得开发者在编译后的程序集里边添加相关的方法,从而很容易地扩展原有的功能. 1.扩展方法的定义 代码生成器 定义扩展方法时,首先这个扩展方法要被定义在一个静态类中(程序集加载时自动加载),因此这个扩展方法也必须是一个静态方法.其次,在扩展方法的参数列表中,需要在第一个参数类型的前面添加关键字this作为修饰符,而紧跟其后的就是扩展类的名称.如下…
扩展方法(Extension Methods)是C#3.0时引入的新特性,相信很多人都听过并且也都用过,最常见的是在LINQ中的使用. 不仅如此,在开发中,我们也可以创建自己扩展方法,使用它来优化类的设计.简化代码.本文将简单地介绍扩展方法的概念.定义.使用场景以及要注意的点. 一.概念 扩展方法是一种特殊类型的静态方法.对于一个C#类型,如类(包括密封类).值类型.接口等,扩展方法可以在不改变该类型源码的前提下,为它的实例提供新的成员.因此,若要为一个框架或第三方库的某个类型增加辅助功能,通过…
问题描述: 在某个窗口下的编码中使用了以下扩展方法FindControl,以求根据字符串的值去操作控件(本文中的控件为Label控件)的属性. public static Control FindControl(this Control parentControl, string findCtrlName) { Control _findedControl = null; if (!string.IsNullOrEmpty(findCtrlName) && parentControl !=…
在ASP.NET Core中Startup类的Configure方法中,有一个扩展方法叫UseDeveloperExceptionPage,如下所示: // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { i…
上一篇随笔 .NET 扩展方法 (一) 已经对 扩展方法有了大致的介绍,这篇算是一个补充,让我们来看一下扩展方法的几个细节: 一.扩展方法具有继承性 当使用扩展方法扩展一个类型的时候,其也扩展了派生类,所以上一篇的遗留问题“如果给object添加一个扩展方法会出现什么效果呢?” 的 答案就是——所有类型都将扩展该方法.object类已经经受住了时间的考验,我们似乎也找不到更合适的理由来扩展object类.从另外的 角度考虑,如果扩展了object类,很有可能会给“智能敏感提示”造成污染,以至于填…
生成树的时候,数据库中一般设计的都为无级数,即为:父子节点的树,例如:基本的数据表设计为: nodecode 节点编码 parentnodecode 父节点编码 nodename  节点名称 这样的形式,在生成树的时候,根据子找父,再找爷爷的关系,一直找到最顶级,来确定一个从属关系,如果由父级找子级再找孙子级,那么,就可以有无限个孩子级,所以这种情况,适合不限分类的一种写法,但是这种写法带来的结果就是,效率比较低,处理的时间长,所以在开发过程中,就出现了一种编码树的形式:基本的数据表设计为: n…
string.IsNullOrEmpty()这个方法算得上是.net中使用频率最高的方法之一.此方法是string的一个静态方法,类似的静态方法在string这个类中还有很多.那么这样的方法作为静态方法是否合理呢?如果我们从面向对象的角度出发,我们会发现这种方案不是十分符合面向对象的设计原则. 什么是对象?对象是拥有数据和行为的结合体.如果说string是一个类,那么string message="hello"这句话就定义了一个string的对象,名称叫做message. 一.让对象自…
对于一些现成的类,如果我们想添加一些新的方法来完善功能,但是不想改变已有的封装,也不想使用派生类,那么该怎么办呢?这里我们可以使用扩展方法. 一见钟情--初识扩展 扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 我们首先来看个例子,有个直观的认识.一个现有的类User: public class User  {      string _name;      public User(string Name)      {          _n…
C#3.0扩展方法是给现有类型添加一个方法.现在类型即可是基本数据类型(如int,String等),也可以是自己定义的类.以下是引用片段: //Demo--1 //扩展基本类型 namespace TestExtensionMethods { // 必须建一个静态类,用来包含要添加的扩展方法 public static class Extensions { //要添加的扩展方法必须为一个静态方法 //此方法参数列表必须以this开始 第二个即为要扩展的数据类型,在这里就是要扩展string类型…
这篇内容继续接着昨天的Lambda表达式的源码继续下去.昨天讲了Lambda表达式,此篇讲扩展方法,这两点都是Linq带来的新特性.    一.扩展方法介绍   废话不多说,先上源码截图: 上图中GetMemoryCount就是一个扩展方法,从上图的标注可以得出以下几点信息: 1.扩展方法需要加this关键词 2.扩展方法和被包含的类必须是静态的 3.被包含的类不能是泛型类 深入总结: 1.扩展方法可以接收任意多个参数,不过第一个参数必须用this修饰. 2.扩展方法的基础是对象, 比如这个对象…
并不是所有的方法都可以用作扩展方法,如何分辨代码中定义的是扩展方法还是普通方法呢? 我们需要考察它是否符合下列扩展方法的定义规则: 1.扩展方法必须在一个非嵌套.非泛型的静态类中定义: 2.它至少要有一个参数: 3.第一个参数必须加上this关键字作为前缀(第一个参数类型也称为扩展类型,即指方法对这个类型进行扩展): 4.第一个参数不能使用任何其他的修饰符: 5.第一个参数的类型不能是指针类型 这些规则都是硬性规定,无论方法违反了哪一条,编译器都可能会报错,或认为它不是一个扩展方法.…
1.写在前面 今天群里一个小伙伴问了这样一个问题,扩展方法与实例方法的执行顺序是什么样子的,谁先谁后(这个问题会在文章结尾回答).所以写了这边文章,力图从原理角度解释扩展方法及其使用. 以下为主要内容: 什么是扩展方法 扩展方法原理及自定义扩展方法 扩展方法的使用及其注意事项   2.什么是扩展方法 一般而言,扩展方法为现有类型添加新的方法(从面向对象的角度来说,是为现有对象添加新的行为)而无需修改原有类型,这是一种无侵入而且非常安全的方式.扩展方法是静态的,它的使用和其他实例方法几乎没有什么区…
扩展方法 扩展方法有以下几个需求: 你想为一个类型添加一些 成员: 你不需要为类型的实例添加任何更多的数据: 你不能改变类型本身, 因为是别人的代码. 对于C#1和C#2中的静态方法,扩展方法是一种更优雅的解决方案. 语法 并不是任何方法都能作为扩展方法使用—— 它必须具有以下特征: 它必须在一个非嵌套的. 非泛型的静态类中( 所以必须是一 个静态方法): 它至少要有 一个参数: 第一个参数必须附加 this 关键字作为前缀: 第一个参数不能有其他任何修饰 符(比如out或ref): 第一个参数…
先定义一个扩展类: public static class StringExtend { //扩展一个string的方法 public static bool IsNullOrEmpty(this string s) { return string.IsNullOrEmpty(s); } } 再用的时候如果扩展类和实用类是在同一个文件夹中,直接点扩展方法就可以了.如果不在那就要引用. public void stringBuf(string str){ //这样使用 str.IsNullOrEm…
原因分析:点击刷新按钮是对当前页数据进行reload,因此所传的请求参数皆为上一次加载当前页的参数即datagrid的load方法中的参数,主要是因为请求的最终时间无法更新到最新状态 解决方案:对点击刷新按钮的onBeforeRefresh事件进行监听,在此事件中调用datagrid的roload方法并重置请求参数,最后返回false取消下一步操作,具体操作如下: //获取分页对象 var pg = $("#dg").datagrid("getPager"); if…