FineUI 官方论坛

标题: 关于OnRowSelect事件,求教 [打印本页]

作者: renbovip    时间: 2014-10-11 23:26
标题: 关于OnRowSelect事件,求教
我将部分需要重用的部分UI逻辑放在用户控件中(.ascx),然后使用UserControlConnector动态添加到页面中,用户控件中使用了Grid控件代码如下:
<fanel ID="list_Panel" ShowBorder="false" ShowHeader="false" Layout="Fit" runat="server">
    <Items>
        <f:Grid ID="GridView" ShowBorder ="false" ShowHeader="false" BoxFlex="1" EnableRowSelectEvent="true" AllowPaging="true"  OnRowSelect="Grid_RowSelect"
runat="server">
            <Toolbars>

            </Toolbars>
        </f:Grid>        
    </Items>
</fanel>

我想实现在选择了表格的某一行后触发OnRowSelect事件,并且将事件响应函数也放在了用户控件中。
protected void Grid_RowSelect(object sender, GridRowSelectEventArgs e)
        {
            Alert.ShowInTop("RowSelect");
        }

但实际并不是我想的那样弹出提示框,我将上述代码复制到页面文件中,将事件响应函数也放在 页面文件中,OK,弹窗出现了。
那么,我究竟错在哪了?

作者: sanshi    时间: 2014-10-12 12:46
我简单测试了下你说的情况,没发现问题。请用空项目重现问题后上传
作者: renbovip    时间: 2014-10-13 15:37
附件是工程文件,里面的Extjs包太大,就删除了。我的电脑环境win764bit专业版,vs2010开发。
出线的问题如上面的帖子描述,Grid控件放在页面中,申明OnRowSelect事件没有问题,但将Grid控件放在另一个用户控件中动态加载,OnRowSelect事件不能运行。


作者: sanshi    时间: 2014-10-13 16:24
renbovip 发表于 2014-10-13 15:37
附件是工程文件,里面的Extjs包太大,就删除了。我的电脑环境win764bit专业版,vs2010开发。
出线的问题如 ...

我调试了一下,只需要把:
  1. protected void Page_Init(object sender, EventArgs e)
  2.         {
  3.             if (!IsPostBack)
  4.             {
  5.                 InitControls();
  6.             }
  7. }
复制代码


改为:


  1. protected void Page_Init(object sender, EventArgs e)
  2.         {
  3.            
  4.                 InitControls();
  5.    }
  6.          
复制代码


即可
动态加载控件:http://www.cnblogs.com/sanshi/archive/2012/11/19/2776672.html

作者: renbovip    时间: 2014-10-13 16:39
感谢sanshi,的确是这个问题




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4