这两天新到个公司。。 需要用到EXT 非要用EXT啊 0_0 ..
用到其中一个控件 GridPanel 我需要取其中的页面上的数据 然后保存到数据库中.. 翻了两天资料
发现大神们用的 都是JS 啊 JS 本人可不会JS 一直做winform来着 完全不会
无奈只好翻官方的示例 结合 GridPanel其中Selection Models--> Row Selection
和update-->Autodate 两个示例
取其中可用部分
<
ExtraParams
>
< ext:Parameter Name ="Valuess" Value ="Ext.encode(#{grp_rulelot}.getRowsValues({selectedOnly:true}))"
Mode ="Raw" />
</ 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 >
< 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();
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
#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