2014-09-10 62 views
0

我想绑定来自几个datagrids的数据,我不想每次启动应用程序时都查看它们。 有没有可能在设置中设置它?或自动将所有数据网格设置为查看?如何将datagrid设置为查看?

谢谢

+0

是否有任何理由,为什么你不能只显示那些你希望查看在任何特定时间? – 2014-09-10 09:09:41

+0

问题是我不想显示/查看它们。我只想绑定/转换他们的数据。 – Bartimor 2014-09-10 09:20:06

+0

'DataGrid'是一个GUI控件。它将在初始化时绑定到基础数据项。要么你已经拥有数据,并且不需要DataGrid,或者用户输入数据,并且必须显示数据供用户输入。 – 2014-09-10 09:48:53

回答

0

也许你对这种错误的看法?如果你希望你的数据在表格显示之前需要做的是获取并存储数据在DataTable然后用它来玩。然后,在显示您的DataGridView时,只需简单地将DataTable绑定并显示即可。我在下面包含了一个示例。但如果它只是一个显示表格的案例,那么要么tablename.visable = false应该做的伎俩或交替如果你有其他元素,如面板可以使用panelname.BringToFronttablename.SendToBack

让我们开始面向对象的例子..

这个你可以在这里你要处理的数据的另一个接口类。在这个例子中,这个类将是IOptions,在这里你可以拥有你需要的选项的所有数据表。你可以有各种不同接口类代表你的程序的某些部分,但我们会与现在选择坚持..

   public DataTable mProgramOptionsList; 

然后开始执行程序(你的主页/ main.cs)当您连​​接IOptions任何的在这个DataTable需要的类。在PresenterOptions()

   IOptions mIOptions; 

       public void AttachInterface(IOptions pOptions) 
       { 
        mIOptions = pOptions; 
       } 

   mIOptions = new IOptions(); 

       mPresenterOptions = new PresenterOptions(); 
       mPresenterOptions.AttachInterface(mIOptions); 

       mModelOptions = new ModelOptions(); 
       mModelOptions.AttachInterface(mIOptions); 

示例代码现在,在演示选项,你可以修改表,请你,以及填补这些..

   mIOptions.mProgramOptionsList = mModelOptions.GetProgOptionsFromDB(); 

这是类你想要控制你的表格。这可能是一个独立的GUI/View类,它有自己的布局和结构。只要您将界面(IOptions)连接到您用来保存所有表格的班级。

private IOptions mIOptions; 

    private BindingSource mbsProgramOptions; 

    public int mOptionsID { get; set; } 

    void AttachOptionsInterface(IOptions pOptions) 
    { 
     mIOptions = pOptions; 
     CreateDataBindings(); 
    } 

    private void CreateDataBindings() 
    { 
     mbsProgramOptions= new BindingSource(); 
     mbsProgramOptions.DataSource = mIOptions.mProgramOptionsList; // Or what ever datatable you have made 
     dgvProgramOptions.AutoGenerateColumns = false; 
     dgvProgramOptions.DataSource = mbsProgramOptions; // this binds your DataGridView to the DataSource 
    } 

一旦做到这一点,不仅可以将数据添加或更改到您所附加IOptions过,你也可以在任何地方显示表您只是在做类似的东西取悦任何类(假定你叫你表控制类上述TableHelper):

在PresenterOptions或任何类别为此事:

 TableHelper ProgramOptionsList; 

     ProgramOptionsList.mOptionsID = 1234; // Accessing a public/get;set; variable in TableHelper Class 
     ProgramOptionsList.Text = "Table Title"; 
     ProgramOptionsList.ShowDialog(); 
     ProgramOptionsList.BringToFront(); // Just in case you have multiple tables over lapping each other in TableHelper 
相关问题