如何设置datagrid?

时间:2014-09-10 09:05:35

标签: c# wpf wpfdatagrid

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

由于

1 个答案:

答案 0 :(得分:0)

也许你的想法是错误的?如果您希望在表格显示之前显示您需要做的是将数据存储在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;
                }

现在,在Presenter选项中,您可以根据需要修改表格,并填写它们。

                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的任何类,还可以通过执行类似操作(假设您调用上面的表控制类{{1 }}):

在PresenterOptions或任何类中:

TableHelper