如何按视图设置数据网格

本文关键字:置数据 网格 视图 何按 | 更新日期: 2023-09-27 18:21:15

我正在尝试绑定来自多个数据网格的数据,我不想每次启动应用程序时都查看所有数据。有没有可能在设置中设置它?还是自动将所有数据网格设置为已查看?

感谢

如何按视图设置数据网格

也许你的想法是错误的?如果你想在表显示之前获得数据,你需要做的是将数据获取并存储在DataTable中,然后使用它进行处理。然后,当涉及到显示DataGridView时,只需将DataTable绑定到它并显示它。但是,如果只是显示表格的情况,那么tablename.visable = false应该起作用,或者如果您有其他元素,例如面板,则可以使用panelname.BringToFronttablename.SendToBack

让我们开始OOP示例。。

这可以在另一个要操作数据的接口类中实现。在本例中,这个类将是IOptions,例如,在这里您可以拥有Options所需的所有数据表。您可以使用不同的接口类来表示程序的某些部分,但我们现在将坚持使用选项。。

               public DataTable mProgramOptionsList;

然后,当程序启动时(主页/main.cs),您可以将IOptions附加到此DataTable所需的任何类。

                mIOptions = new IOptions();
                mPresenterOptions = new PresenterOptions();
                mPresenterOptions.AttachInterface(mIOptions);
                mModelOptions = new ModelOptions();
                mModelOptions.AttachInterface(mIOptions);

PresenterOptions() 中的示例代码

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

现在,在"演示者选项"中,您可以随意修改表格,也可以填充表格。。

                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