Vb.net UltraGrid Win在没有筛选器时隐藏所有行
我将UltraWin Grid 12(基础设施)用于Win表单(vb.net 2010 Framework 3.5) 是否有一种方法可以隐藏所有行并仅显示筛选后的行?。除非选择了一个过滤器,否则我不需要显示任何内容,并且在取消选择所有过滤器时,再次隐藏所有行Vb.net UltraGrid Win在没有筛选器时隐藏所有行,vb.net,row,show-hide,infragistics,ultrawingrid,Vb.net,Row,Show Hide,Infragistics,Ultrawingrid,我将UltraWin Grid 12(基础设施)用于Win表单(vb.net 2010 Framework 3.5) 是否有一种方法可以隐藏所有行并仅显示筛选后的行?。除非选择了一个过滤器,否则我不需要显示任何内容,并且在取消选择所有过滤器时,再次隐藏所有行 我试着为每个。。。row.hidden=true,但运气不好。您能不能将默认大小设置为0 myGrid.Rows.DefaultSize = 0 myGrid.Refresh() 当你得到你需要的过滤器后,只需在以后添加行
我试着为每个。。。row.hidden=true,但运气不好。您能不能将默认大小设置为0
myGrid.Rows.DefaultSize = 0
myGrid.Refresh()
当你得到你需要的过滤器后,只需在以后添加行。
取消选中时,只需重新设置默认大小。您能否将默认大小设置为0
myGrid.Rows.DefaultSize = 0
myGrid.Refresh()
当你得到你需要的过滤器后,只需在以后添加行。
取消选中时,只需再次放入默认大小。如果没有任何行被过滤掉,则可以使用绘图过滤器隐藏所有行:
public class HideRowsDrawFilter:IUIElementDrawFilter
{
private UltraGrid grid;
public HideRowsDrawFilter(UltraGrid grid)
{
this.grid = grid;
}
public bool DrawElement(DrawPhase drawPhase, ref UIElementDrawParams drawParams)
{
if (this.grid.DisplayLayout.Rows.GetFilteredOutNonGroupByRows().Length == 0)
return true;
return false;
}
public DrawPhase GetPhasesToFilter(ref UIElementDrawParams drawParams)
{
if (drawParams.Element is RowUIElement)
return DrawPhase.BeforeDrawElement;
return DrawPhase.None;
}
}
要设置栅格的绘制过滤器,请使用以下命令:
this.ultraGrid1.DrawFilter = new HideRowsDrawFilter(this.ultraGrid1);
请注意,这只会阻止绘制行,并且它们仍然存在,因此,除非您以其他方式禁用它们,否则仍将进行选择、编辑和激活。当没有任何行被过滤掉时,您可以使用绘制过滤器隐藏所有行:
public class HideRowsDrawFilter:IUIElementDrawFilter
{
private UltraGrid grid;
public HideRowsDrawFilter(UltraGrid grid)
{
this.grid = grid;
}
public bool DrawElement(DrawPhase drawPhase, ref UIElementDrawParams drawParams)
{
if (this.grid.DisplayLayout.Rows.GetFilteredOutNonGroupByRows().Length == 0)
return true;
return false;
}
public DrawPhase GetPhasesToFilter(ref UIElementDrawParams drawParams)
{
if (drawParams.Element is RowUIElement)
return DrawPhase.BeforeDrawElement;
return DrawPhase.None;
}
}
要设置栅格的绘制过滤器,请使用以下命令:
this.ultraGrid1.DrawFilter = new HideRowsDrawFilter(this.ultraGrid1);
请注意,这只会阻止绘制行,并且它们仍然存在,因此,除非您以其他方式禁用它们,否则仍将进行选择、编辑和激活。过滤是使用网格过滤还是外部进行?内部使用标题过滤行。我的想法是只显示过滤后的行,但在启动时Ultrawin网格将填充数据。过滤是通过网格过滤还是外部完成?内部使用标题过滤器行。我的想法是只显示过滤后的行,但在开始时,Ultrawin网格将填充数据。Ultrawin网格没有DefaultSize,我尝试row.Height=0,但没有运气。为什么要填充,当您稍后要按键填充时。Ultrawin网格没有DefaultSize,我尝试row.Height=0,但没有运气。为什么要填充,当您想在以后按键时填充它时。