如何按视图设置数据网格
本文关键字:置数据 网格 视图 何按 | 更新日期: 2023-09-27 18:21:15
我正在尝试绑定来自多个数据网格的数据,我不想每次启动应用程序时都查看所有数据。有没有可能在设置中设置它?还是自动将所有数据网格设置为已查看?
感谢
也许你的想法是错误的?如果你想在表显示之前获得数据,你需要做的是将数据获取并存储在DataTable
中,然后使用它进行处理。然后,当涉及到显示DataGridView
时,只需将DataTable
绑定到它并显示它。但是,如果只是显示表格的情况,那么tablename.visable = false
应该起作用,或者如果您有其他元素,例如面板,则可以使用panelname.BringToFront
或tablename.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