从不同的表单访问数据控件

本文关键字:访问 数据 控件 表单 | 更新日期: 2023-09-27 18:19:09

我有两个表单,表单A和表单B,从A访问表单B我传递表单B在表单A的构造函数,这样我就可以访问一个gridview

建议指导我在公共属性中暴露我的gridview,并将其传递给我想要访问它的其他形式。

这是我对建议的理解:

public RadGridView Grid
{
    get { return GridViewDisplay; }
}

然后我把这个属性传递给第二个表单:

Form1 f1 = new form1();
Form2 f2 = new form2(f1.Grid);

这是我的问题:

public void DockAllWindows()
    {
        SideBar sb = new SideBar();
        Summary sm = new Summary();
        SalesPoint sp = new SalesPoint(sb, sm); // This is where my issue is, Point A
        StartPage start = new StartPage();
        radDock.DockControl(sp, (DockPosition.Fill), DockType.Document);
        radDock.DockControl(start, (DockPosition.Fill), DockType.Document);
        radDock.DockControl(sm, (DockPosition.Right), DockType.ToolWindow);
    }

在点A,我正在传递汇总表单的对象实例给我的salespoint表单。因此,我不能执行下面的代码,因为它会产生一个错误:

Summary sm = new Summary(sp.Grid); // Error right here
            SalesPoint sp = new SalesPoint(sb, sm);

我需要一些帮助来解决上面的错误

从不同的表单访问数据控件

您需要设置摘要。在创建了SalesPoint类之后。

Summary sm = new Summary();
SalesPoint sp = new SalesPoint(sb, sm);
sm.Grid = sp.Grid.

要清楚,你需要一个公共网格属性在你的SalesPoint类和一个在你的Summary类。让你在Summary类的属性上实现set这样你就知道别人什么时候改变了它

public RadGridView Grid
{
    get { return grid; }
    set
    {
        if (grid != value)
        {
            grid = value;
            // Add any special processing that summary needs to do to pull data from the SalesPoint Grid property.
        }
    }
}