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

 这两天新到个公司。。 需要用到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
< string string > [] companies  =  JSON.Deserialize < Dictionary < string string > [] > (json);

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

        
foreach  (Dictionary < string string >  row  in  companies)
        {
            
if  (addHeader)
            {
                sb.Append(
" <tr> " );
                
foreach  (KeyValuePair < string string >  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 < string string >  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

  来完成 数据获取。

 完成后效果图如下

 

 

 

 

 

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

 如果有大神 能指点1,2就更好了

 

 QQ:363116554

转载于:https://www.cnblogs.com/Deckard/archive/2011/03/09/1978431.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值