Ext.Net中CheckboxSelectionModel的动态隐藏(显示),一定条件下的隐藏(不让选择),获得多选栏位的信息,及后台控件的动态创建...
(1) Ext.Net 中CheckboxSelectionModel在一定的条件下隐藏特定的row
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
var MyCheckBox = function (v, p, record) { //固定格式,不变
if (record.data.SPECVER <4) { //红色的字体为栏位名称(type= int)
return "";
}
return '<div class="x-grid3-row-checker">'; //固定格式,不变
};
</script>
</head>
并在下面的代码添加CustomConfig,Listeners属性 :
<SelectionModel>
<ext:CheckboxSelectionModel ID="CheckboxSelectionModel1" runat="server"> //生成CheckBox
<CustomConfig>
<ext:ConfigItem Name="renderer" Value="MyCheckBox" Mode="Raw" /> //javascript Function 名称
</CustomConfig>
<Listeners>
<BeforeRowSelect Handler="return record.data.SPECVER>=4;" /> //栏位名称,需要变动
</Listeners>
</ext:CheckboxSelectionModel>
</SelectionModel>
(2 )Ext.Net 中动态的隐藏(Hidden属性)CheckBox (CheckboxSelectionModel ):
protected void btnQueryHistory_Click(object sender, Ext.Net.DirectEventArgs e)
{
GridPanel. ColumnModel.SetHidden(0,true); //(红色的)为GridPanel 名称 ,(绿色的)为要隐藏的栏位
}
(3)Ext.Net中获得被多选中的row :
1.))集中批次处理:
RowSelectionModel lv_RowSelected = this.gpControlInfo.SelectionModel.Primary as RowSelectionModel;
if (lv_RowSelected.SelectedRows.Count > 0)
{
string sysIDS = "";
foreach (SelectedRow row in sm.SelectedRows)
{
sysIDS += row.RecordID + ";"; //RecordID的设置
}
}
lv_RowSelected.ClearSelections(); //需要清空所有,否则,下次没有选中任何的时候,SelectedRows.Count 还是为上次的值
RecordID的设置,在Store的代码中添加(红色的部分):
<ext:Store ID="stoControlInfo" runat="server" GroupDir="ASC">
<Reader>
<ext:JsonReader IDProperty ="FORMSYSID"> // 为RecordID的值,根据需要相应的更改
</ext:JsonReader>
</Reader>
<AutoLoadParams>
<ext:Parameter Name="start" Mode="Raw" Value="0">
</ext:Parameter>
<ext:Parameter Name="limit" Mode="Raw" Value="15">
</ext:Parameter>
</AutoLoadParams>
</ext:Store>
2.)) 单个的处理:
<ext:Button
ID=""
runat=""
Text=""
Icon=""
X =""
Y ="" >
<DirectEvents>
<Click OnEvent="btnActivateForm_Click"> //后台Button事件
<ExtraParams> //添加如下代码,gpControlInfo为GridPanel的ID
<ext:Parameter Name="Values" Value="Ext.encode(#{gpControlInfo}.getRowsValues({selectedOnly:true}))" Mode="Raw" />
</ExtraParams>
</Click>
</DirectEvents>
</ext:Button>
后台的处理:
string json = e.ExtraParams["Values"];
Dictionary<string, string>[] lv_Row = JSON.Deserialize<Dictionary<string, string>[]>(v_Json);
foreach (Dictionary<string, string> row in lv_Row)
{
foreach (KeyValuePair<string, string> keyvaluePaire in row)
{
//可以取得所有的栏位及栏位值,
//也可以取得想要的(相对应的)
if (keyvaluePaire.Key == "SPECNO")
{
pv_StrSpecNO = keyvaluePaire.Value;
}
else if (keyvaluePaire.Key == "SPECVER")
{
pv_StrSpecVer = keyvaluePaire.Value;
}
}
}
(4)Ext.Net后台动态实现GridPanel栏位的添加:
this.stoControlInfo.AddField(new RecordField("SYSID", RecordFieldType.String));
this.stoControlInfo.AddField(new RecordField("FORMID", RecordFieldType.String));
this.gpControlInfo.ColumnModel.Columns.Add(new Column { Header = "SYSID_Show", DataIndex = "SYSID", Width = 10 });
this.gpControlInfo.ColumnModel.Columns.Add(new Column { Header = "FORMID_Show", DataIndex = "FORMID", Width = 130 });
DataIndex必须和RecordField的相同(如红色的),要不然有栏位显示,但是下面没有数据的哦!
注:以上经过测试是正确的,请根据自己的需要做出变通,不对的地方或者是还有好的方法请告知,不胜感激!
另外:(1)一个好的Ext.Net基础学习网站是:www.Ext.Net,有各控件的实例实现
(2)相关知识查找可以在官网(www.Ext.Net)中的右上角的"Search“框中进行查找,比在Baidu能查到更多的相关技术及实现!查找的是英文版的哦!
转载于:https://www.cnblogs.com/alexzp/archive/2011/12/23/2298890.html
Ext.Net中CheckboxSelectionModel的动态隐藏(显示),一定条件下的隐藏(不让选择),获得多选栏位的信息,及后台控件的动态创建...相关推荐
- qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示
---恢复内容开始--- qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示 打个比方,我现在写个小例子,这个小例子是这样的,整个界面分为俩个部分,分为上半部分和下半部分, ...
- Linux中使用du -d n 显示当前文件目录下文件夹的大小
Linux中使用du -d n 显示当前文件目录下文件夹的大小 du -d n 其中 du 代表disk usage 硬盘使用 d 代表directory n 代表显示当前目录下文件夹的层数 root ...
- \t\t使用INDY的IdMappedPortTCP控件实现动态的HTTP代理服务器
在工作中,需要一个时间控制条件非常复杂的代理服务器,因此只能自编.从网络中找到一些用ServerSocket和ClientSocket开发的代理服务器源代码,比较复杂.因此想用INDY控件组中的IdM ...
- 安卓控件大小动态文字排版_动态Web排版:爆炸文字
安卓控件大小动态文字排版 Lately I've been interested in creating motion typography for the web. Making shattered ...
- html中设置元素隐藏显示,细说HTML元素的隐藏和显示
CSS文档对HTML的显示和隐藏有2个属性可供选择: 1.display 2.visiblity 这2个有什么区别呢? display: display版本:CSS1/CSS2 兼容性:IE4+ NS ...
- VC程序中实现控件的动态生成与响应
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一般是对话框, ...
- 【Silverlight】Bing Maps开发应用与技巧二:自定义图钉标注控件和动态ToolPanel
在Bing Maps Silverlight Control中以及为我们提供了地图图钉控件Pushpin,我曾经在< 使用图钉层(Pushpin layer)及地图图层(MapLayer)> ...
- android 动态添加删除控件,求教Android,动态添加到控件能动态删除吗?
protected View createView() {//动态添加组件 Button btn = new Button(this);//动态创建按钮 btn.setId(index++); btn ...
- 使用Timer计时器、PictureBox图片控件做动态图片
用Timer,PictureBox实现动态图片显示 Timer控件主要属性.事件和方法 属性 说明 Interval 事件发生的频率,以毫秒为单位 Enabled 是否定时引发事件 事件 说明 Tic ...
最新文章
- python scrapy框架原理_Scrapy框架的工作原理是什么?
- Linux c语言虚拟串口,利用socat和cutecom实现Linux虚拟串口通信
- python基础知识~ 等值判断和码
- spring -boot定时任务 quartz 基于 MethodInvokingJobDetailFactoryBean 实现
- viewport是什么?(江湖称响应式web设计)
- 记一次对学校的渗透测试
- 用FFmpeg编码h264视频介绍
- leetcode 205. 同构字符串(hash)
- linux 正则查找email_Linux--正则表达式--详解
- java中double类型占几个字节_Java中基本数据类型占几个字节多少位
- oracle报1653解决办法,ORA-1653的问题
- 关于VSCode安装 python 语法检测器插件 pylint 配置(Mac)
- Maxscript基本数据类型(二):Name
- 如何批量打印流水且重复的条码数据
- 功率谱密度的一个小理解
- 常用短信平台一览,记得收藏哦
- Windows XP 上网提示:您的时钟快了/慢了
- 【纪中受难记】——Day13:还有两天放假
- 毕业设计--2020.02.18 奇耘4.2寸墨水屏的程序设计思路分享
- 刘强东:我请你来,不是让你证明我错了!
热门文章
- 循环结构作业c语言,C语言循环结构练习题带答案(最新整理)
- 怎么查看python是否安装好了pyinstaller_Python PyInstaller安装和使用教程(详解版)...
- jquery 操作CSS总结
- strtol() 字符串转长整型函数
- TCP/IP学习笔记(九)TCP报文段首部格式
- 防火墙(3)——iptables(1)
- |(与或移位等)的工程运用
- nafxcw.lib与LIBCMT.lib在vs2008中链接冲突解决方案
- java idea连数据库报错:Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone'时区错误
- 牛客IOI周赛19-普及组 C.小y的旅行