Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net UltraGrid Win在没有筛选器时隐藏所有行_Vb.net_Row_Show Hide_Infragistics_Ultrawingrid - Fatal编程技术网

Vb.net UltraGrid Win在没有筛选器时隐藏所有行

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() 当你得到你需要的过滤器后,只需在以后添加行

我将UltraWin Grid 12(基础设施)用于Win表单(vb.net 2010 Framework 3.5)

是否有一种方法可以隐藏所有行并仅显示筛选后的行?。除非选择了一个过滤器,否则我不需要显示任何内容,并且在取消选择所有过滤器时,再次隐藏所有行


我试着为每个。。。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,但没有运气。为什么要填充,当您想在以后按键时填充它时。