FineUI 官方论坛
标题:
如何获取grid控件用户拖动后的列宽
[打印本页]
作者:
mli
时间:
2013-8-24 09:27
标题:
如何获取grid控件用户拖动后的列宽
用户在拖动了grid控件列宽大小后,后台使用grid.columns[columnno].width得到的依然是初始控件时的列宽,而非用户拖动后的列宽,如何能获取到呢?
作者:
雨天不打伞
时间:
2016-5-10 13:21
本帖最后由 雨天不打伞 于 2016-5-10 13:25 编辑
通过隐藏字段传递列宽信息。利用客户端脚本获取调整后的列宽信息,把值保存在隐藏字段中。
1、创建隐藏字段 <f:HiddenField ID ="HdGridColWidth" runat="server"></f:HiddenField>
2、在窗体后面加入:
<script type="text/javascript" language="javascript">
var gridClientID = '<%= Grid1.ClientID %>';
var HdGridColWidthID = '<%= HdGridColWidth.ClientID %>';
// 点击[保存列宽]按钮
function onColumnConfigClick(event) {
var grid = F(gridClientID);
var myHdGridColWidth = F(HdGridColWidthID);
var sWidth='';
var mycolumns = grid.columns;
for (var i = 0; i < mycolumns.length; i++) {
sWidth = sWidth + mycolumns
.text + ':' + mycolumns
.width + ',';
}
myHdGridColWidth.setValue(sWidth); // 将客户端列标题及列宽保存在隐藏字段中
// 自定义回发
__doPostBack('', 'grid_SAVECOLWIDTH');
}
</script>
3、代码中加入:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
else
{
if (GetRequestEventArgument() == "grid_SAVECOLWIDTH")
{
Alert.ShowInTop("保存列宽" + HdGridColWidth.Text);
//Alert.ShowInTop("保存列宽");
}
}
}
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4