【问题标题】:Rad Grid prerender event IssueRad Grid 预渲染事件问题
【发布时间】:2009-04-06 10:49:05
【问题描述】:

谁能告诉我这部分发生的事情?为什么它使物品不可见?

protected void rgStateTax_PreRender( object sender, EventArgs e )
    {
        if( rgStateTax.MasterTableView.IsItemInserted )
        {
            foreach( GridItem item in rgStateTax.Items )
            {
                item.Visible = false;
            }
        }

        if( rgStateTax.EditItems.Count > 0 )
        {
            foreach( GridDataItem item in rgStateTax.Items )
            {
                if( item != rgStateTax.EditItems[0] )
                {
                    item.Visible = false;
                }
            }
        }
    }

这里的rgStateTax是rad grid,PreRender是页面实际显示在屏幕上之前的事件,对吧?

【问题讨论】:

    标签: asp.net telerik radgrid


    【解决方案1】:

    是的,在为页面呈现控件之前调用 PreRender。

    这段 sn-p 代码只是简单地循环遍历网格中的几乎每个项目并使其不可见。

    if( rgStateTax.MasterTableView.IsItemInserted ) 这会检查一个项目是否已插入到网格中。

    foreach( GridItem item in rgStateTax.Items ) 循环遍历 radgrid 中的每个项目。

    item.Visible = false; 这会将每个项目设置为不可见。

    至于接下来的部分:

    if( rgStateTax.EditItems.Count > 0 ) 这会检查是否有任何网格项目处于编辑模式。

    foreach( GridDataItem item in rgStateTax.Items ) 循环遍历 radgrid 中的每个项目(无论每个项目是否处于编辑模式)。

    if( item != rgStateTax.EditItems[0] ) 这会检查当前项目是否不是编辑模式下的第一个项目(因此我们为除一个项目之外的所有项目输入此内容。

    item.Visible = false; 这会将每个项目设置为不可见。

    这就是正在发生的事情。

    【讨论】:

      【解决方案2】:

      你可能想要

          if(!item.Edit){item.Visible = false;}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-07
        • 1970-01-01
        • 2015-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-17
        • 2019-10-04
        相关资源
        最近更新 更多