2015-05-01 53 views
1

在DataGridView中,事情是優雅的,但我想知道如何繼承一個表,並對從SQLite數據庫中獲取的每個數據項重新進行分解?

我使用Visual Studio 2013 Designer設計了一個表(System.Windows.Forms.Table),它幾乎是一個拖放式設計。

該表有兩列,最左邊一欄顯示是從SQLite數據庫也獲取的數據具有其中有一個子表(System.Windows.Forms.Table)兩排(錶行)其中每行(錶行)有一個文本框,其實際顯示到不同的數據庫行(這是數據庫行)的值。

右側有一些按鈕可觸發少量事件。
這裏是如何看起來像:http://i.stack.imgur.com/Q8Lfd.png

enter image description here

現在的問題是,在這種環境下,我怎麼能繼承這個表的設計和創建多個實例foreach數據行來源於它的SQLite數據庫文件?

示範:下面是我想要實現的快速演示。
假設名爲「lists」的數據庫表有四個項目,所以此應用程序將創建該表(Windows窗體表)的四個實例,將所有數據插入表中適當的字段(Windows窗體表)並將它們列在「Form1的」形式的東西看起來像這樣[這樣做是對的Photoshop;)] enter image description here

請提出您的想法和引用以編程方式在C#窗體窗體應用程序中繼承一個表格

+1

用戶控件是否適合您? https://msdn.microsoft.com/en-us/library/ms171926.aspx – GER

+0

非常感謝GER爲您提供的回覆,現在是我的https://33.media.tumblr.com/0b11ea8029966fbd80b4699ea6c757d0/tumblr_mew7zbIJtX1qfs7v6o1_250。 gif:D – rakibtg

回答

1

,因爲我在工作這已經有一段時間指導我在正確的道路WinForms,但基於原始帖子中GER的問題,所有DotNet UI方法的概念都相似。

如果您定義了一個UserControl來呈現數據,使其看起來像您的照片購物商品中的單個實例,那麼您可以重複使用該控件幾次。

在您的主窗體中,您現在可以執行一個循環,以便以編程方式多次添加此控件(最後附有僞代碼)。

您還需要一個TableLayoutPanel(https://msdn.microsoft.com/en-us/library/vstudio/system.windows.forms.tablelayoutpanel%28v=vs.100%29.aspx)或類似的主窗體作爲layoutPanel。

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是否記得如何在控件上設置網格行/列設置。如果這對你有效,你可以對這個問題做一些研究。

+0

非常感謝馬丁,我很享受解決方案:) https://33.media.tumblr.com/0b11ea8029966fbd80b4699ea6c757d0/tumblr_mew7zbIJtX1qfs7v6o1_250.gif – rakibtg

+1

很高興聽到它。 :)編程式用戶界面在如何考慮設計方面增加了一些複雜性,但在運行時也可以獲得大量的自定義控制權。 –

相關問題