ASP.NET-FineUI开发实践-12
1.网上找到了行合并的示例,extjs写的,我把它挪过来改了下,FineUI也能用,就是只能放着看,选择和编辑行扩展列没有测试,放出来大家看着用吧。
<script>
F.ready(function () {
//方法span 参数(grid实例,行号,列号,合并状态,合并数量)
var span = function (grid, row, col, type, num) {
//这是一个列隐藏机制,发现列隐藏了合并的效果会错位
var hiddens = [], columns = grid.columns;
var b = true;
Ext.Array.each(columns, function (column, index) {
if (column.isHidden()) {
//如果要隐藏的列隐藏了
if (col == index + 1) {
//合并单元格不生效
b = false;
}
}
});
if (b) {
switch (type) {
//类型,行
case 'row':
//getNode 找到节点 row 就是找到行,query,用JQuery所搜所有行的td,可以看出grid其实用表格拼的
tds = Ext.get(grid.view.getNode(row)).query('td');
//通过列号找到列,编辑属性 rowspan=num 合并数量
Ext.get(tds[col]).set({ rowspan: num });
//加入垂直居中属性,当然可以自己写
Ext.get(Ext.get(tds[col])).setStyle({ 'vertical-align': 'middle' });
//循环被盖住的单元格,destroy 扔掉
for (i = row + 1; i < row + num; i++) {
Ext.get(Ext.get(grid.view.getNode(i)).query('td')[col]).destroy();
}
break;
case 'col':
//合并列的,跟行的一样,没试,自己写写
tds = Ext.get(grid.view.getNode(row)).query('td');
Ext.get(tds[col]).set({ colspan: num });
break;
}
}
};
//执行合并方法,注意参数
span(F('<% =Grid1.ClientID%>'), 2, 2, 'row', 3);
//在列隐藏和显示时执行合并行,否则会错位
F('<% =Grid1.ClientID%>').on('columnhide', function () {
span(F('<% =Grid1.ClientID%>'), 2, 2, 'row', 3);
});
F('<% =Grid1.ClientID%>').on('columnshow', function () {
var grid = F('<% =Grid1.ClientID%>');
span(grid, 2, 2, 'row', 3);
});
});
</script>
这是个思路,具体情况很复杂,不能正式使用,要用的可以自己研究下
把这个沾到grid下看看就知道了没必要发例子了。
2.加了个列头上的过滤控件,当然可以加别的
查询可以用到,有兴趣的可以自己写写,还是说方法,其实以前就提到了好多遍,就是加了个属性,然后就没了。
我在源码的GridCloumn.cs里加了两个属性,filter和filterName,记录显示的东西和开启显示控件
private bool _filter = false;
/// <summary>
/// 启用过滤功能
/// </summary>
[Category(CategoryName.OPTIONS)]
[DefaultValue(true)]
[Description("启用过滤功能")]
public virtual bool filter
{
get
{
return _filter;
}
set
{
_filter = value;
}
}
private string _filterName = "";
/// <summary>
/// 过滤功能的列
/// </summary>
[Category(CategoryName.OPTIONS)]
[DefaultValue(true)]
[Description("过滤功能的列")]
public virtual string filterName
{
get
{
return _filterName;
}
set
{
_filterName = value;
}
}
这个一看就明白了,然后我再列上用这俩个属性,
<f:BoundField Width="100px" filter="true" filterName='PanelGrid1_textName' ColumnID="Name"
DataField="Name" DataFormatString="{0}" HeaderText="姓名" />
if (PageRItems.Count > 0)
{
OptionBuilder RBuilder = new OptionBuilder();
//RBuilder.AddProperty("displayInfo", true);
//RBuilder.AddProperty("store", Render_GridStoreID, true);
JsArrayBuilder ab = new JsArrayBuilder();
foreach (ControlBase item in PageRItems)
{
if (item.Visible)
{
ab.AddProperty(String.Format("{0}", item.XID), true);
}
}
//cls: 'x-toolbar-paging',
RBuilder.AddProperty("cls", "'x-toolbar-paging x-docked-bottom x-toolbar-docked-bottom x-toolbar-docked-bottom'", true);
RBuilder.AddProperty("items", ab.ToString(), true);
//rbarScript = String.Format("var {0}=Ext.create('Ext.ux.SimplePagingToolbar',{1});", Render_RBarID, RBuilder);
OB.AddProperty("rbar", RBuilder, true);
}
ASP.NET-FineUI开发实践-12的更多相关文章
- FineUI开源版(ASP.Net)开发实践-目录
点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...
- FineUI开发实践-目录
点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...
- FineUI开发实践
ASP.NET-FineUI开发实践-7 摘要: 下拉显示grid列表.其实很简单,但是试了很多方法,水平有限,主要是都不好使,还是简单的好使了,分享下.先是看了看网上的,是直接写个了extjs控件类 ...
- ASP.NET MVC5 网站开发实践(一) - 框架(续) 模型、数据存储、业务逻辑
上次搭建好了项目框架,但还是觉得不太对劲,后来才想起来没有对开发目标进行定位,这个小demo虽然不用做需求分析,但是要实现什么效果还得明确.后来想了一下就做个最简单的网站,目标定为小公司进行展示用的网 ...
- ASP.NET-FineUI开发实践-9(四)
现在是这么个问题,在开发中表格是动态出来的,就是标准板是全部字段列出,客户要根据情况列出自己想要的,在增加操作页面的同时要是能用前台自带的功能直接保存到后台就好了,现在的列显示和隐藏是不回发的. 1. ...
- ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除
本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...
- ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询
上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构
咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章
上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据. 目录: ASP.N ...
随机推荐
- tableview 重用nib cell
#import "ViewController.h" #import "NewsTableViewCell.h" #define UISCREEN_HEIGHT ...
- Python字符编码讲解
声明:本文参考 Python字符编码详解 在计算机中我们不管用什么语言和程序,最终数据在计算机中的都是字节码(也就是01形式)的形式存在的,如果 计算机直接把字节码显示在屏幕上,很明显一般人看不懂字节 ...
- jquery的笔记
1. 基本选择器 基本的 #id .class element(元素) *(全部元素) $("#id") $(".class") ...
- [BZOJ 1188] [HNOI2007] 分裂游戏 【博弈论|SG函数】
题目链接:BZOJ - 1188 题目分析 我们把每一颗石子看做一个单个的游戏,它的 SG 值取决于它的位置. 对于一颗在 i 位置的石子,根据游戏规则,它的后继状态就是枚举符合条件的 j, k.然后 ...
- html中混入的特殊字符
从设计那里拿来的psd中常常会有全角的单双引号. 如果只是拷贝这些字符到做好的html里面,顶多看到乱码再加以改正. 但是,如果是通篇的doc,需要加上各种html语义标签,在拷贝来的doc文字之间加 ...
- zabbix 添加jvm监控
1. zabbix 服务端安装,监控jmx 需要--enable-java zabbix 客户端不需要 --enable-java 2.zabbix_server端安装jdk 安装jdk [root@ ...
- Redis Sentinel实现Failover
redis版本:2.8.17 服务器规划: 10.50.13.34(6379 master) 10.50.13.35(6379 slave) 10.50.13.36(6379 slave) 10. ...
- (转载)遍历memcache中已缓存的key
(转载)http://www.cnblogs.com/ainiaa/archive/2011/03/11/1981108.html 最近需要做一个缓存管理的功能.其中有一个需要模糊匹配memcache ...
- 数据结构(set):COGS 62. [HNOI2004] 宠物收养所
62. [HNOI2004] 宠物收养所 ★★★ 输入文件:pet.in 输出文件:pet.out 简单对比时间限制:1 s 内存限制:128 MB 最近,阿Q开了一间宠物收养所.收养 ...
- 《傲慢与偏见》(Pride and Prejudice)
<傲慢与偏见>(Pride and Prejudice)改编自英国作家简·奥斯汀的同名小说,1940年上映.讲述了19世纪初期英国的一个普通的中产家庭中五姐妹的爱情与择偶故事.片中因为男主 ...