我是C#编程的新手,所以希望这是我忽略的简单事情。

我的表单上有一个XtraGrid.GridControl,我想对它应用CustomRowFilter。

我没有明确定义网格的任何视图,所以我想将自己的CustomRowFilter方法添加到针对GridControl上MainView的事件处理程序中-但是我找不到如何访问之后的事件?

这是正确的方法还是错误的方法?

    private void gridControl1_CustomRowFilter(object sender, RowFilterEventArgs e)
    {
        GridView view = sender as GridView;
        DataView dv = view.DataSource as DataView;

        if (1==1) //Temp - this should hide everything
        {
            e.Visible = false;
            e.Handled = true;
        }
    }

private void Form1_Load(object sender, EventArgs e)
    {
        //Bind the datasource etc...

        gridControl1.MainView.CustomRowFilter += gridControl1_CustomRowFilter //"Base view does not contain a definition for "CustomRowFilter"
    }

最佳答案

CustomRowFilter事件属于GridView而不是GridControl,您可以使用以下方法访问事件:

private void Form1_Load(object sender, EventArgs e)
{
    (gridControl1.MainView as GridView).CustomRowFilter += gridControl1_CustomRowFilter;
}

关于c# - DevExpress CustomRowFilter-如何触发?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36894185/

10-12 20:47