3

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

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

4

2 回答 2

0

你可能想要

    if(!item.Edit){item.Visible = false;}
于 2011-11-27T23:14:22.760 回答
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;这会将每个项目设置为不可见。

这就是正在发生的事情。

于 2011-04-06T20:07:29.150 回答