FineuiPro 加载动态列Grid

前言

由于grid控件动态创建列只能在page_init事件里,不能直接用ajax方式,所以页面不刷新的话效果是出不来的。
(为什么一定要在page_init创建列,具体请看官网:http://pro.fineui.com/#/grid/grid_dynamic_columns.aspx)

如果想实现button点击事件,动态创建grid列的效果(也就是ajax效果),可以使用iframe的方式(如果是老司机就知道iframe可以实现类似的ajax效果折中方案)。

在fineuiPro 里有哪些控件能支持iframe?panel ,tab等容器控件,具体可以查询控件的api。总的来说,就是利用button点击事件刷新iframe的url,iframe子页刷新显示grid控件。

具体实现代码:

  • 1 创建父页


    FineuiPro 加载动态列Grid_第1张图片
    设置panel为iframe页,添加2个button来切换效果
  • 2 父页后台事件,刷新iframe的url。注意IFrameUrl是ajax属性,也就是说button点击事件是可以回发并显示出效果的。


    FineuiPro 加载动态列Grid_第2张图片
    刷新iframe的url属性
  • 3 子页GridForm.aspx设置


    FineuiPro 加载动态列Grid_第3张图片
    就放一个grid
  • 4 子页后台代码。注意页面的page_init事件,代码大概意思:根据url参数,显示数据1或者数据2,示例出动态列的grid。

FineuiPro 加载动态列Grid_第4张图片
111.png
  • 5 关于方法CreatGridStructByDataTable,这个是我自己封装的代码,在我的sunday快速开发框架里有。
FineuiPro 加载动态列Grid_第5张图片
CreatGridStructByDataTable方法

最后看下效果

FineuiPro 加载动态列Grid_第6张图片
简单吧

你可能感兴趣的:(FineuiPro 加载动态列Grid)