前言

从系统改版到现在,将近半年的时间,原本陌生的Ext.NET的UI框架,也慢慢的熟悉了。总的来说,这个UI框架还是很优秀的,但是也没有100%完美的产品(老系统使用easy ui其实也挺好的)。趁着这段时间不忙,来总结下(主要是一些奇怪的问题和一些控件的用法),也欢迎大家的补充及指正。

为什么使用Ext.NET

当初决定改版用EXT.NET,主要是因为兼容浏览器,以及是开发效率高。当然了,有些浏览器的兼容性并不是十分完美,例如ie7。更多优点请参阅@雪雁--http://www.cnblogs.com/codelove/archive/2011/07/22/2114317.html

开门见山

http://examples.ext.net/ ext.net官网,提供一些简单的demo,这是主要资料的的来源,不过基本呢上能应付开发了。

NumberField

数字框,初始化时的值必须为数字,如果有异常,初始化的值不值数值类型。当点击ext:Button 的Click事件时,无法监听到Button 的Click事件。很郁闷吧。

动态添加带控件的数据集的GridPanel

html代码

     <ext:GridPanel ID="GridPanelGrade" AutoScroll="true" trackmouseover="true" AutoDestroy="true" Title="修改"
Layout="VBoxLayout" runat="server" Width="960" AutoDoLayout="true" ColumnLines="true"
Border="false" striperows="true" Cls="page">
<CustomConfig>
<ext:ConfigItem Name="AutoHeight" Value="true" Mode="Value">
</ext:ConfigItem>
<ext:ConfigItem Name="ForceFit" Value="true" Mode="Value">
</ext:ConfigItem>
<ext:ConfigItem Name="autoScroll" Value="true" Mode="Value">
</ext:ConfigItem>
<ext:ConfigItem Name="autoWidth" Value="false" Mode="Value">
</ext:ConfigItem>
</CustomConfig>
<Store>
<ext:Store ID="StoreGrade" runat="server">
<Model>
<ext:Model ID="StoreGrade_Mode" runat="server">
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
</Columns>
</ColumnModel>
</ext:GridPanel>

后台代码:

        void Innit_DATA()
{
//数据集
List<List<string>> results = new List<List<string>>();
for (int i = ; i < list_Idx.Count; i++)
{
List<string> ss = new List<string>();
string ssr = Addstep(list_Idx[i].level);
ss.Add(ssr + list_Idx[i].name);
results.Add(ss);
}
List<ColumnBase> extColumnBase = new List<ColumnBase>();
Model _ExtModel = new Model(); #region MyRegion //构建列头
extColumnBase.Add(new Column
{
ID = "TARGETNAME",
Text = "指标名称",
DataIndex = "TARGETNAME",
Sortable = false,
MenuDisabled = true,
Width = ,
Flex =
}); _ExtModel.Fields.Add(new ModelField("TARGETNAME"));
if (dtsource.Rows.Count > )
{
for (int i = ; i < dtsource.Rows.Count; i++)
{
string ids = "A" + tableName + i;
//extColumnBase.Add(new Column
//{
// ID = ids,
// Text = GetReptorNmae(dtsource.Rows[i][1].ToString()),
// DataIndex = ids,
// Sortable = false,
// MenuDisabled = true,
// Flex = 1
//});
ComponentColumn columm = null;
columm = new ComponentColumn();
columm.ID = ids;
columm.DataIndex = ids;
columm.Text = GetReptorNmae(dtsource.Rows[i][].ToString());
columm.Flex = ;
columm.Editor = true;
TextField textField = new TextField();
columm.Component.Add(textField);
extColumnBase.Add(columm); _ExtModel.Fields.Add(new ModelField(ids));
}
}
//清除旧数据与记录集
this.StoreGrade.Reader.Clear();
this.GridPanelGrade.SelectionModel.Clear();
this.GridPanelGrade.ColumnModel.Columns.Clear();
this.StoreGrade.Model.Clear(); this.StoreGrade.Model.Add(_ExtModel);
this.GridPanelGrade.ColumnModel.Columns.AddRange(extColumnBase);
this.StoreGrade.DataSource = results;
this.StoreGrade.DataBind();
this.GridPanelGrade.Render();
}

效果图:

EXT.NET 使用总结(1)的更多相关文章

  1. Ext JS 如何动态加载JavaScript创建窗体

    JavaScript不需要编译即可运行,这让JavaScript构建的应用程序可以变得很灵活.我们可以根据需要动态从服务器加载JavaScript脚本来创建和控制UI来与用户交互.下面结合Ext JS ...

  2. sencha ext js 6 入门

    Sencha Ext JS号称是目前世界上最先进和最强大的.支持多平台多设备的JavaScript应用程序开发框架.首先看一下Ext JS的发展简史. 1 Ext JS发展简史 YUI-Ext的作者J ...

  3. Ext JS - 问答

    Ext JS - 问答 在下面你将可以找到关于Ext JS 的最常见问题的答复.如果没有找到您所需的答复,请访问 Ext JS 论坛或者提交一个支持申请. 如果你确信你的问题可以对本页有补充,请让我们 ...

  4. Ext动态加载Toolbar

    在使用Ext的GridPanel时候,有时候需要面板不用重新加载而去更新Store或者Toolbar,Store的方法有很多,例如官方api给我们提供的Store.load(),Store.reLoa ...

  5. Ext分页实现(前台与后台)

    Ext分页实现(前台与后台)Spring+Mybatis 一.项目背景 关于Ext的分页网上有很多博客都有提到,但是作为Ext新手来说,并不能很容易的在自己的项目中得以应用.因为,大多数教程以及博客基 ...

  6. [转]ExtJs基础--Html DOM、Ext Element及Component三者之间的区别

    要学习及应用好Ext框架,必须需要理解Html DOM.Ext Element及Component三者之间的区别. 每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM ...

  7. [转]extjs grid的Ext.grid.CheckboxSelectionModel默认选中解决方法

    原文地址:http://379548695.iteye.com/blog/1167234 grid的复选框定义如下:   var sm = new Ext.grid.CheckboxSelection ...

  8. Ext.js细节:在MVC中处理Widget Column,GetCmp和ComponentQuery, Id和ItemId

    针对EXT.JS版本的演进,要不断的学习新的最佳实践方法. 比如,在定义组件时,尽管用itemid,而不是id. 在搜索组件时,尽量用ComponentQuery,而不是getCmp. 在MVC中处理 ...

  9. 2017年第1贴:EXT.JS使用MVC模式时,注意如何协调MODEL, STORE,VIEW,CONTROLLER的关系

    也调了快一天,死活找不到窍门. MODEL, STORE,VIEW的调置测试了很久,试了N种方法,不得其果. 最后,试着在APPLICATION里加入CONTROLLER, 在CONTROLLER里加 ...

  10. EXT.NET 使用总结(3)--动态图表

    动态生成雷达图--Radar 效果图: aspx页面代码: <ext:Panel ID="ResultPanel" Border="true" runat ...

随机推荐

  1. Thinking in java学习笔记之set

    Random rand = new Random(47); Set<Integer> set = new HashSet<Integer>(); for(int i=0;i&l ...

  2. asp.net MVC3的局部缓存页面PartialCache.cshtml

    MVC3及以上有了PartialCache.cshtml局部缓存的方式,具体实现: 新建一个PartialCache.cshtml的页面,在控制器上写上如下代码: [OutputCache(Durat ...

  3. a版本冲刺第八天

    队名:Aruba   队员: 黄辉昌 李陈辉 林炳锋 鄢继仁 张秀锋 章  鼎 学号 昨天完成的任务 今天做的任务 明天要做的任务 困难点 体会 408 继续学习第一行代码至第四章,阅读队友代码 着手 ...

  4. JQ001-认识jQuery 和 JQ002-jQuery选择器

    JQ001-认识jQuery jQuery环境配置:将jQuery.js文件引入到html页面中即可. 代码如下: <!DOCTYPE html> <html> <hea ...

  5. python学习笔记-(十五)RabbitMQ队列

    rabbitMQ是消息队列:想想之前的我们学过队列queue:threading queue(线程queue,多个线程之间进行数据交互).进程queue(父进程与子进程进行交互或者同属于同一父进程下的 ...

  6. 使用Spring进行统一日志管理 + 统一异常管理

    http://blog.csdn.net/king87130/article/details/8011843原文地址 统一日志异常实现类: 1 package com.pilelot.web.util ...

  7. 10月24日上午PHP面向对象

    面向对象 程序分为两种,一种是面向过程的,另一种是面向对象的.之前的学的都是面向过程的,按部就班的一步一步的按照顺序往下走. 面向对象: 1.什么叫做对象 一切皆为对象(一个对象由一组属性和有权对这些 ...

  8. 简单的c# TCP通讯(TcpListener)

      简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TC ...

  9. GDB调试D语言

    GDB7.2后开始支持对D语言的调试 GUI前端 http://beej.us/guide/bggdb/#compiling GDB教程 http://blog.csdn.net/haoel/arti ...

  10. Spring3.0目录

    (1)Spring 入门知识 (2)IoC/DI基本思想的演变 (3)深入理解IoC/DI (4)Spring的简单demo