Rad Grid prerender事件问题

时间:2009-04-06 10:49:05

标签: asp.net telerik radgrid

有谁能告诉我这部分发生的事情?为什么让物品看不见?

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是页面实际显示在屏幕上之前的事件,对吗?

2 个答案:

答案 0 :(得分:0)

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

这段代码只是循环遍历网格中的几乎所有项目并使其不可见。

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;这会将每个项目设置为不可见。

这就是发生的事情。

答案 1 :(得分:0)

你可能想要

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