FineUI 官方论坛
标题:
一个grid如何多次动态创建列
[打印本页]
作者:
幻风琉璃
时间:
2014-4-10 14:57
标题:
一个grid如何多次动态创建列
有一个页面,有个下拉框,根据下拉框的值读取数据库,然后再grid中动态创建列。因为要先读取下拉框的值,所以动态创建只能放在pageload中了,页面首次加载时,没有问题,能动态创建。然后更改下拉框后页面回发后,发现也能正常运行加载动态列的函数,可是页面上的grid还是保持首次创建的样子,没有变化. 请问这是什么原因?
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropLoad();//绑定下拉框
}
InitGrid(int.Parse(tableName.SelectedValue)); //根据下拉框的值动态创建列
}
调试过程:
首次页面加载时,可以看到动态创建列成功了[attach]5014[/attach];
更改下拉框后,看到grid重新变成了4项。可是页面就是没变[attach]5015[/attach]
作者:
刘军
时间:
2014-4-10 15:01
1:放到Page_Init中试试
2:禁用ajax
作者:
幻风琉璃
时间:
2014-4-10 15:05
刘军 发表于 2014-4-10 15:01
1:放到Page_Init中试试
2:禁用ajax
因为涉及要传下拉框的值进去,Page_Init没办法获取
作者:
tarcyshu
时间:
2014-4-10 20:44
关注一下。之前研究过,动态创建列只能写在Page_Init里只能生效,如果页面已经创建只能通过前台JS实现了。
作者:
幻风琉璃
时间:
2014-4-15 09:10
发表一下我最后的解决方案,首先,因为要根据回传的值动态创建列,因此不能写在Page_Init,只好写在Page_Load。至于是否写在if (!IsPostBack)里面,可以根据情况自定。pagemanager里加上EnableAjax="false"。 以上实测可通过页面刷新来实现加载多种不同的动态列。
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4