注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

╰此情可待成追忆

当没有阳光时,我自己便是阳光,当没有快乐时,我自己便是快乐

 
 
 

日志

 
 

EXT GridPanel 获取当前页面显示的数据(变通法)  

2014-04-21 13:01:33|  分类: Ext.NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://hi.baidu.com/meilixueshan/item/559ed73c9a7b55149cc65e97


使用getRowsValues方法,方法原型为:
getRowsValues : function (selectedOnly, visibleOnly, dirtyOnly, currentPageOnly) {}


不管勾选没勾选都获取当前gridpanel页所有数据:

grid1.getRowsValues({});


跨页面选择,可使用:
       var rows = grid1.getRowsValues({ selectedOnly: true, currentPageOnly: false });
        if(rows.length <= 0) {
            Ext.Msg.alert('提示', "请选择需要修改的人员!");
            return;
        }

==================================================================
http://www.cnblogs.com/Deckard/archive/2011/03/09/1978431.html

这两天新到个公司。。 需要用到EXT  非要用EXT啊 0_0 ..

 用到其中一个控件 GridPanel  我需要取其中的页面上的数据 然后保存到数据库中.. 翻了两天资料

发现大神们用的 都是JS 啊 JS 本人可不会JS  一直做winform来着  完全不会

无奈只好翻官方的示例  结合 GridPanel其中Selection Models--> Row Selection

和update-->Autodate 两个示例

附地址:http://examples.ext.net/

取其中可用部分

 

 

                        <ExtraParams>
                            
<ext:Parameter Name="Valuess" Value="Ext.encode(#{grp_rulelot}.getRowsValues({selectedOnly:true}))"
                                Mode
="Raw" />
                        
</ExtraParams>

获取选中行的数据

 

                                     <ExtraParams>
                                            
<ext:Parameter Name="Values" Value="Ext.encode(#{grp_rulelot}.getStore().getCount())"
                                                Mode
="Raw" />
                                        
</ExtraParams>

获取总行数

这两段代码 组合成一下后台代码

 

复制代码
        string json = e.ExtraParams["Values"];

        RowSelectionModel rs 
= this.grp_rulelot.SelectionModel.Primary as RowSelectionModel;
        
for (int i = 0; i < Convert.ToInt32(json); i++)
        {
            rs.SelectedRows.Add(
new SelectedRow(i));
        }
        rs.UpdateSelection();
        
//锁定选中状态
        RowSelectionModel1.Lock();
复制代码

复制代码
        string json = e.ExtraParams["Valuess"];
        
#region 序列化选中的数据
        Dictionary
<stringstring>[] companies = JSON.Deserialize<Dictionary<stringstring>[]>(json);

        StringBuilder sb 
= new StringBuilder();
        sb.Append(
"<table  cellspacing='15'>");
        
bool addHeader = true;

        
foreach (Dictionary<stringstring> row in companies)
        {
            
if (addHeader)
            {
                sb.Append(
"<tr>");
                
foreach (KeyValuePair<stringstring> keyValuePair in row)
                {
                    sb.Append(
"<td style='white-space:nowrap;font-weight:bold;'>");

                    sb.Append(keyValuePair.Key);

                    sb.Append(
"</td>");
                }
                sb.Append(
"</tr>");

                addHeader 
= false;
            }

            sb.Append(
"<tr>");
            
foreach (KeyValuePair<stringstring> keyValuePair in row)
            {
                sb.Append(
"<td style='white-space:nowrap;'>");

                sb.Append(keyValuePair.Value);

                sb.Append(
"</td>");
            }
            sb.Append(
"</tr>");
        }
        sb.Append(
"</table>");
        lab.Html 
= sb.ToString();
        
#endregion
复制代码

  来完成 数据获取。

 完成后效果图如下

 

 

 

 

 

   我的方法比较笨,, 仅供参考。希望对大家有用

  评论这张
 
阅读(402)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017