在 C# windows 窗体应用程序中以编程方式继承一个 table

Programmatically inherit a table in C# windows form application

DataGridView 中的一切都很优雅,但我想了解如何继承 table 并为从 SQLite 数据库中获取的每个数据项重构它?

我使用 Visual Studio 2013 Designer 设计了一个 table(System.Windows.Forms.Table),几乎是拖放式设计。

table 有两列,最左边的列显示从 SQLite 数据库中获取的数据,它还有一个子 table(System.Windows.Forms.Table),它有两行 (table row) 其中每一行 (table row) 都有一个文本字段,它实际上显示给不同的数据库行 (这是数据库行) 值。

右边有一些按钮可以触发一些事件。
它是这样的:http://i.stack.imgur.com/Q8Lfd.png



现在我的问题是,在这种环境下,我如何继承这个 table 设计并创建多个实例 foreach 数据行来自它的 SQLite 数据库文件?

演示:这是我想要实现的快速演示。
假设名为 "lists" 的数据库 table 有四个项目,所以这个应用程序将创建此 table(Windows 形式 table 的四个实例,将所有数据插入 table(Windows 形式 [=51] 的适当字段中=]) 并以 "Form1" 形式列出它们,看起来像这样 [ 在 photoshop 上做的 ;) ]

请通过提供您的想法和参考来指导我正确的道路

自从我在 WinForms 工作以来已经有一段时间了,但是这个概念在所有 DotNet UI 方法论中都是相似的,基于 GER 对原始 post 的问题。

如果您定义一个 UserControl 来呈现数据,使其看起来像您的照片购物项目中的单个实例,那么您可以多次重复使用该控件。

在您的主窗体中,您现在可以执行一个循环,以编程方式根据需要多次添加此控件(最后是伪代码)。

您还需要一个 TableLayoutPanel (https://msdn.microsoft.com/en-us/library/vstudio/system.windows.forms.tablelayoutpanel%28v=vs.100%29.aspx) 或类似的主窗体作为布局面板。

foreach(DataTable table in Tables)
{
    MyChildControl childControl = new MyChildControl();
    childControl.Confiure(table); // Sets the data for the control.
    layoutPanel.Controls.Add(childControl); // This call varies by UI method and what layoutPanel you are using
}

警告:关于 WinForms,我不太记得如何在控件上设置网格 row/column 设置。如果这对你有用,你可以对那个做一些研究。