谁能告诉我本节中发生的事情?为什么使物品不可见?
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/