谁能告诉我本节中发生的事情?为什么使物品不可见?

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

最佳答案

是的,在为页面呈现控件之前会调用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;这将每个项目设置为不可见。

这就是正在发生的事情。

关于asp.net - Rad Grid预渲染事件问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/720935/

10-11 12:25