接触ExtJs不久,一直以来都是DotNet阵营,某天在网上看到Coolite就爱不释手了。但是用起来才知道不是那么顺手,可能是刚刚接触的原因。。网上的关于Coolite的资料更是少之又少了,唯一能够指望的只有Coolite官方的论坛。虽然它的官方论坛牛人很多,也通过论坛解决了不少问题,但是总觉得都是一知半解的。

首先我觉得记得几个关键字,属性名都是其次的。关键是理解弄懂控件、对象的运行机制,步骤顺序才是重点。
1.关于Store,GridPanel
GridPanel+Store的机制,我认为是这样的。
1)Store想要定制ID等基本属性(呵呵,这是废话),其中<Reader>用来为读取数据集而定义的数据结构。
2)结构的定义需要JsonReader对象(我常用这个,JsonReader只是其中一种)
3)<Fields>中包含N个字段对象<ext:RecordField>且,必要的属性如NAME,TYPE等
4)<SortInfo>是用来指定排序规则的
例:<ext:Store ID="StoreInP" runat="server" WarningOnDirty="false">
         <Reader>
             <ext:JsonReader ReaderID="fSIPDId">
                 <Fields>
                     <ext:RecordField Name="fSIPDId" />
                     <ext:RecordField Name="fSIPId" />
                     <ext:RecordField Name="fPId" />
                     <ext:RecordField Name="fBUId" Type="int" />
                     <ext:RecordField Name="fBUName" />
                     <ext:RecordField Name="fPQuantity" Type="int" />
                     <ext:RecordField Name="fSBatch" />
                     <ext:RecordField Name="fSPackQuantity" Type="int" DefaultValue="0" />
                     <ext:RecordField Name="fSSingleQuantity" Type="int" DefaultValue="0" />
                     <ext:RecordField Name="fTotalQuantity" Type="int" DefaultValue="0" />
                 </Fields>
             </ext:JsonReader>
         </Reader>
         <SortInfo Field="fSIPDId" />
     </ext:Store>
说明:
1)WarningOnDirty 用来设定是否在数据发生改变时,提示警告。涉及两个相关的属性 DirtyWarningTitle="系统警告" DirtyWarningText="数据发生改变您未保存。您确定要加载/刷新数据?",从属性值大家就能看出是做什么用的了
2)OnRefreshData 是个很主要的事件。数据刷新事件。如果Store对象中包含AutoLoad属性并且值为TRUE的话,将会在页面加载是自动触发该事件。那么我们就可以在后台为这个事件编写诸如获得数据库中的记录集绑定数据的操作。例:
   protected void StoreInP_RefreshData(object sender, Coolite.Ext.Web.StoreRefreshDataEventArgs e)
         {
             this.StoreInP.DataSource = [dataset]\[datatable]\object[];//记录集
             this.StoreInP.DataBind();
         }
3)注意一点。设置AutoLoad为TRUE后,想要给Store加上自动加载参数,一般用于分页功能比较常见。如
   <AutoLoadParams>
             <ext:Parameter Name="start" Mode="Raw" Value="0" />
             <ext:Parameter Name="limit" Mode="raw" Value="15" />
         </AutoLoadParams>
在Store获得数据以后,GridPanel所要做的就是呈现了。Gridpanel最简单的呈现,只需要设定属性,和添加<ColumnModel>集合。必须的属性如ID,runat="server" ,StoreID。为了使我们的Grid更加美观,可以使用TrackMouseOver,Border等属性。TrackMouseOver是给Grid实现鼠标在行经过时的轨迹效果,Border给Grid加上圆角边框。例:
<ext:GridPanel ID="GridOperator" runat="server" StripeRows="true" TrackMouseOver="true" Border="true" StoreID="StoreOperator">
<ColumnModel>
   <Columns>
   <ext:RowNumbererColumn />
   <ext:Column Header="登陆名" DataIndex="fSOpLogId" />
   <ext:Column Header="姓名" DataIndex="fSOpName" />
   <ext:Column Header="性别" DataIndex="fSOpSex" Width="35">
     <Renderer Fn="GridField_SexState" />
   </ext:Column>
   <ext:Column Header="联系电话" DataIndex="fSOpTel" />
   <ext:Column Header="加入时间" DataIndex="fSOpJoinDt">
     <Renderer Fn="GridField_DateTime" />
   </ext:Column>
   <ext:Column Header="角色组" DataIndex="fSRName">
   </ext:Column>
   <ext:Column Header="可用" DataIndex="fEnabled" Width="35">
     <Renderer Handler="return (value>0)?True:False;" />
   </ext:Column>
   </Columns>
</ColumnModel>
</ext:GridPanel>
说明:其中ext:RowNumbererColumn 是给Grid添加自动编号列,<ext:Column>都有列标题 Header,和数据字段名DataIndex等必要属性。
<Renderer>是列呈现的扩展方法,其中常用Fn和Handler来定制呈现效果。Fn一般是对应脚本函数名,Handler对应脚本代码,value是当前列所获得的单元格值。
注意,实际上在asp.net后台代码绑定数据的时候,只需要对Store绑定,而Grid由于StoreID属性中已经关联了Store则无需在后台控制。
总结:
1,由后台获得数据库查询数据,为Store对象绑定
2,Store对象获得数据以后。由其定义的<Reader>读取到本地(客户端)内存中。
3,Grid已经由StoreId关联的数据仓库,则通过Columns中的各列呈现。
4,Column对象中的Renderer可灵活扩展数据字段值的呈现效果。
以上就是入门级简单的Gridpanel+Store呈现数据。

原文:http://hi.baidu.com/feitianchong1/blog/item/a53738c6fdfe69d5d00060a2.html

转载于:https://www.cnblogs.com/AndySong/archive/2009/11/01/1593784.html

Coolite 开发心得相关推荐

  1. 软件开发心得点滴记录

    软件开发心得点滴记录 一见 创建日期:2013/6/27 1. 前言 自从2002年大学毕业后一直沉浸于软件开发之路,平时喜欢思考和归纳,时常会产生一点心得和想法,回想起来是一笔宝贵的财富,只可惜陆陆 ...

  2. 一个菜鸟程序员的游戏开发心得

    对于一个只在大学期间学习了JavaScript,实习期间学习了点HTML.CSS的菜鸟,做游戏对我而言是一件想都不敢想的事情,后有幸被公司安排参与一款HTML5游戏的开发,才使我真正第一次与游戏来了次 ...

  3. UI组件库从1到N开发心得-组件篇

    正文 距离第一篇UI组件库文章发布已经过去3个月了,在此期间利用零零散散的时间持续更新owl-ui组件库,目前owl-ui移动端组件库已经更新3大类(基础.表单.弹出层)9种组件(Button.Tab ...

  4. Android深度探索(卷1)HAL与驱动开发 心得体会 第十章 嵌入式Linux的调用技术

    Android深度探索(卷1)HAL与驱动开发 心得体会 第十章  嵌入式Linux的调用技术 对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试.例如,设置断点,逐步跟踪代码. ...

  5. 《并行计算的编程模型》一1.10 MPI开发心得

    1.10 MPI开发心得 与其他的编程方法一样,MPI编程需要了解MPI特性,只有掌握MPI编程方法的优点和缺点,才能编写高效的MPI程序.对MPI最重要的认识是MPI属于一种函数库.MPI操作需要至 ...

  6. 安卓版App开发心得

    为什么80%的码农都做不了架构师?>>>    从2016年4月到6月主要做的工作是网站的开发,而6月到现在2016年8月初,主要做的工作是Android和IOS两种App的开发,又 ...

  7. 2022年10月deepin 20.7.1 谈谈我们的N卡驱动开发心得

    deepin 20.7.1 即将到来之际,各位小伙伴在参与内测的过程中,有没有发现安装N卡驱动时不同寻常的变化呢? 20.7.1版本可以根据当前你机器的上NVIDIA显卡,自动匹配合适的闭源驱动版本进 ...

  8. Android智能硬件开发心得总结(二)

    Android智能硬件开发心得总结(一) 6.关于屏幕显示 每次一个新项目的开发,我所做的第一件事就是确定所选定显示屏的型号规格,然后将规格书发给主板供应商让其先调屏参. 调屏参是很可能会出现无法点亮 ...

  9. 游戏开发心得——书籍篇——《游戏引擎框架》-导论

    游戏开发心得--书籍篇--<游戏引擎框架>-导论 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 学习<游戏引擎框架> ...

  10. MetroMusic音乐播放器开发心得

    MetroMusic音乐播放器开发心得 在这个假期,我独立开发了自己的音乐播放器MetroMusic,之所以叫做MetroMusic,是因为这个播放器的界面采用目前最为流行的win8Metro风格.这 ...

最新文章

  1. (0020)iOS 开发之-设计模式-懒加载解惑
  2. UA PHYS515A 电磁理论IV 时变电磁场理论6 用含时Green函数求解时变电磁场问题的例子
  3. C#实现的一个内存Ini类
  4. python创建数据库表空间_7.自动化监控多个Oracle表空间
  5. LeetCode 273. 整数转换英文表示
  6. oracle+行换列,Oracle的数据表中行转列与列转行的操作实例讲解
  7. 我谁也没等,因为谁也不会来
  8. Java讲课笔记22:Set接口及其实现类
  9. mysql statistics cpu_(2条消息) Mysql占用CPU过高如何优化,如何解决
  10. mysql insert表名前不写字段_云计算教程分享Mysql技术知识点
  11. 大数据分析需要什么技术架构
  12. python dataframe去除重复项_python - Pandas DataFrame处理查找DataFrame中的重复项 - 堆栈内存溢出...
  13. BIM族库下载——Revit灯具族库
  14. 尔雅课堂 美学原理课后练习题库
  15. Unity3D和UE4的保护方式与.net的区别
  16. 【脚本】网页端微信读书书架中书籍详细信息
  17. 三十六计珍藏版(下)
  18. 【深度之眼PyTorch框架班第五期】作业打卡01:PyTorch简介及环境配置;PyTorch基础数据结构——张量
  19. 倒计时第3天,Google Summer of Code报名即将截止(Casbin社区还有空缺名额)
  20. Axure长页面滚动拖动制作

热门文章

  1. 【Newtonsoft.Json.dll】操作简单JSON数据
  2. php查找之二分查找
  3. 伪装Apache版本防止入侵Web服务器
  4. 算法笔记_083:蓝桥杯练习 合并石子(Java)
  5. 快速部署简单私有云CloudStack(下)
  6. jQuery animate()动画效果
  7. 《罗辑思维》让知识交融做爱
  8. 在vs中创建Analysis Services项目
  9. HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效...
  10. P4777 【模板】扩展中国剩余定理(EXCRT)