我有两种形式,形式A和形式B,从形式A的构造函数中的A i传递形式B访问形式B,这样我就可以访问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点,我将摘要表单的对象实例传递给我的SalePoint表单。 因此,我无法执行以下代码,因为它会产生错误:
Summary sm = new Summary(sp.Grid); // Error right here
SalesPoint sp = new SalesPoint(sb, sm);
我想帮助解决上述错误。
答案 0 :(得分:1)
您需要在创建SalesPoint类后设置Summary.Grid属性。
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.
}
}
}