当列表字段过多时,需要隐藏掉一些,但是再次打开页面又显示出来了,FineUI没有提供缓存功能,那么自己动手,打开【ext-part2.js】找到

“if (Ext.grid.column.RowNumberer)”这里添加一个if代码如下

if(Ext.grid.header.Container){
Ext.override(Ext.grid.header.Container,{
onColumnCheckChange:function(checkItem, checked){
var header =Ext.getCmp(checkItem.headerId);
header[checked ?'show':'hide']();
F.customEvent("HeaderSelectedEven:id="+checkItem.headerId+";state="+checked+";grid="+this.grid.id);
}
});
}

效果是这样的

然后在页面的load事件里写

下面我们看WebBase里面的代码

        /// <summary>
/// 功能描述:保存dgv隐藏表头id
/// 作  者:huangzh
/// 创建日期:2015-11-20 14:16:06
/// 任务编号:
/// </summary>
/// <param name="strPageName">strPageName</param>
/// <param name="strDgvName">strDgvName</param>
/// <param name="strValues">strValues</param>
public static void SaveDGVHideComs(string strPageName, string strDgvName, string strValues)
{
HttpCookie cookie = new HttpCookie(strPageName + "_" + strDgvName);
cookie.Expires = DateTime.Now.AddMonths();
cookie.Value = strValues;
HttpContext.Current.Response.Cookies.Add(cookie);
} /// <summary>
/// 功能描述:获取DGV隐藏表头id
/// 作  者:huangzh
/// 创建日期:2015-11-20 14:15:55
/// 任务编号:
/// </summary>
/// <param name="strPageName">strPageName</param>
/// <param name="strDgvName">strDgvName</param>
/// <returns>返回值</returns>
public static string GetDGVHideComs(string strPageName, string strDgvName)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[strPageName + "_" + strDgvName];
if (cookie != null)
{
return cookie.Value;
}
else
{
return "";
}
} /// <summary>
/// 功能描述:检查DGV隐藏表头
/// 作  者:huangzh
/// 创建日期:2015-11-20 14:15:34
/// 任务编号:
/// </summary>
/// <param name="strPageName">strPageName</param>
/// <param name="strDgvName">strDgvName</param>
/// <param name="streventArgument">streventArgument</param>
public static void CheckDGVHideComs(string strPageName, string strDgvName, string streventArgument)
{
if (streventArgument.StartsWith("HeaderSelectedEven:"))
{
string strValues = streventArgument.Substring("HeaderSelectedEven:".Length);
string[] values = strValues.Split(';');
string strid = values[].Split('=')[];
string strstate = values[].Split('=')[];
string strDgvIds = values[].Split('=')[];
string[] names = strDgvIds.Split('_');
if (strDgvName == names[names.Length - ])
{
string strValue = GetDGVHideComs(strPageName, strDgvName);
List<string> lstValues = strValue.Split(',').ToList();
if (strstate.ToLower() == "true")
{
if (lstValues.Contains(strid))
{
lstValues.Remove(strid);
}
}
else
{
if (!lstValues.Contains(strid))
{
lstValues.Add(strid);
}
} strValue = string.Join(",", lstValues);
SaveDGVHideComs(strPageName, strDgvName, strValue);
}
}
} /// <summary>
/// 功能描述:设置dgv隐藏表头
/// 作  者:huangzh
/// 创建日期:2015-11-20 14:20:11
/// 任务编号:
/// </summary>
/// <param name="dgv">dgv</param>
/// <param name="strPageName">strPageName</param>
public static void SetDGVHideCom(FineUI.Grid dgv, string strPageName)
{
string strValue = GetDGVHideComs(strPageName, dgv.ID);
if (!string.IsNullOrEmpty(strValue))
{
dgv.HiddenColumns = strValue.Split(',');
}
}

代码就这么多,我们看下效果吧

FineUI Grid 缓存列显示隐藏状态的更多相关文章

  1. ExtJS4 自己主动生成控制grid的列显示、隐藏的checkbox

    因为某种原因.须要做一个控制grid列显示的checkboxgroup,尽管EXTJS4中的gridpanel自带列表能够来控制列的显示隐藏,可是有这种需求(须要一目了然) 以下先上图 waterma ...

  2. DataGrid列显示隐藏配置

    1.列右键事件 private void data1_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { ContextMenu ...

  3. vue+elementUI表格列显示隐藏遇到bug

    在最近的项目中,有需求要做到根据字段显示列,原来以为简单的v-if可以解决. 在开发的过程中遇到问题, <el-table ref="multipleTable" :data ...

  4. extjs4权限管理,actioncolumn列显示隐藏或禁用

    //隐藏getClass: function(v, meta, rec) { if ( someCondition ) { return 'x-hidden' } }//加入其他样式getClass: ...

  5. Easyui datagrid 显示隐藏列

    html:         <div style="float: left; width: 1450px; height:auto;  ">             & ...

  6. Ext.net自动保存读取GrdPanel列显示状态

    //layout保存 function SaveLayOut() { let colVisibleArray = []; for (var i = 0; i < mcp_gridlist.col ...

  7. easyui datagrid 列显示和隐藏

    //当查询IT基础设施的时候隐藏'STAFF_ID'.'ITSM_STAFF_ID' if($("input[name='currentstate']").val()==2){ $ ...

  8. Ext根据条件显示隐藏列

    Ext根据条件显示隐藏列 写在ExtonReady函数里面,并在表格成功渲染之后,可以添加判断是否隐藏或者显示某一列 /* 判断是否显示版本号一列 */ var showVersionFlag = ' ...

  9. js获取元素显示隐藏的当前状态

    js获取元素显示隐藏的当前状态 // CSS var display = $("."+cls).css("display"); if(display == &q ...

随机推荐

  1. hdu-4419-Colourful Rectangle-段树区,并寻求

    这个问题很有趣的项目,写麻烦.它预计将有写了很长的时间. 好在,我想开了一个比较简单的方法.. . 使用位计算,颜色RGB分别1,2,4,代表. 状态的长度了. #include<stdio.h ...

  2. git_自动同步_sync.sh

    1: 使用方法  sh sync.sh  code_dir 代码 #add echo $1 cd $1 git add . git commit -m "Added notes for $( ...

  3. crawler_JVM_DNS_在爬虫中的应用

    DNS解析:即由域名 经过dns解析,跳转到真正服务器的地址,这个重复解析的耗时占请求很大比例. 在设计爬虫时比较细粒度的控制下,需要考虑dns解析. jdk从1.5往后对dns缓存有默认设置, 详见 ...

  4. 线程同步synchronized

    一Java规划共享多个线程之间数据的能力. 当线程以异步方式訪问共享数据时.有时候是不安全的或者不和逻辑的. 比方卖火车票.同一时刻一个线程在读取数据,另外一个线程在处理数据,当处理数据的线程没有等到 ...

  5. Visio Premium 2010钥匙+激活破解方法

    Visio Premium 2010钥匙+激活破解方法: 安装时能够使用的关键: GR24B-GC2XY-KRXRG-2TRJJ-4X7DC VWQ6G-37WBG-J7DJP-CY66Y-V278X ...

  6. UML九种图汇总

    UML视频读,该文件开始起草.我不知道如何下手啊!我想先UML九图和总结的关系,然后开始用它的文件. 首先在地图上. UML的九种图各自是:用例图.类图.对象图.状态图.活动图.协作图.序列图.组件图 ...

  7. POJ 3047 Bovine Birthday 日期定周求 泽勒公式

    标题来源:POJ 3047 Bovine Birthday 意甲冠军:.. . 思考:式 适合于1582年(中国明朝万历十年)10月15日之后的情形 公式 w = y + y/4 + c/4 - 2* ...

  8. 网站静态化处理—CSI(5)

    网站静态化处理—CSI(5) 讲完了SSI,ESI,下面就要讲讲CSI了 ,CSI是浏览器端的动静整合方案,当我文章发表后有朋友就问我,CSI技术是不是就是通过ajax来加载数据啊,我当时的回答只是说 ...

  9. 基于jsoup的Java服务端http(s)代理程序-代理服务器Demo

    亲爱的开发者朋友们,知道百度网址翻译么?他们为何能够翻译源网页呢,iframe可是不能跨域操作的哦,那么可以用代理实现.直接上代码: 本Demo基于MVC写的,灰常简单,copy过去,简单改改就可以用 ...

  10. Installshield建立IE快捷方式的方法

    原文:Installshield建立IE快捷方式的方法 实现方法:在project assistant里或者install design里随便建一个快捷方式,然后去install design里修改刚 ...