在我的Winform
C#
應用程序我有一個DataGridView
綁定與DataTable
並有很多記錄。 我想以下列格式顯示所選行(DataGridView
)的詳細信息(請參閱圖像)。我應該使用什麼Control
或(技巧)來實現此目的。如何獲得垂直列的DataGridView
換句話說:「表的第一列應該有列名和第2列應該有相應的價值」
在我的Winform
C#
應用程序我有一個DataGridView
綁定與DataTable
並有很多記錄。 我想以下列格式顯示所選行(DataGridView
)的詳細信息(請參閱圖像)。我應該使用什麼Control
或(技巧)來實現此目的。如何獲得垂直列的DataGridView
換句話說:「表的第一列應該有列名和第2列應該有相應的價值」
通常情況下,我不會在的DataGridView做到這一點,其真正目的是顯示多條記錄,你只希望一次顯示一個記錄。我可以提出兩種處理方法:
如果您知道要提前顯示的字段,典型的方法是在設計時佈置一組單獨的值顯示標籤和其他簡單的控件。這具有以下優點:
如果你不知道該字段在設計時被顯示出來,或者不想打擾鋪設出來,使用的PropertyGrid控制,而不是一個的DataGridView。我從來沒有真正有一個DataTable作爲數據源試過,但它看起來像有在C#/winforms: how to best bind a propertygrid and a System.Data.DataRow
我希望你會嘗試使用PIVOT在SQL中使你的數據集看起來像上面的結果。取而代之的是,您可以在DataSet中旋轉(切換行和列)並將該數據集綁定到網格。 請參見下面的鏈接,它會幫助你..
http://codemaverick.blogspot.com/2008/02/transpose-datagrid-or-gridview-by.html
這是我會做什麼來實現這個
的Visual Basic Power Packs
有DataRepeater
控制,可以在這些情況下使用一個發達的答案了點。您可以按照自己想要的方式設計每一行,併爲每一行放置想要放置的任何控件。
這裏是一個視頻演示如何DataRepeater控件可用於:
您也可以下載的Visual Basic電源包:
http://www.microsoft.com/en-in/download/details.aspx?id=25169
而且,當你讀到這正在使用Visual Studio 2013:
http://ntcoder.com/bab/2013/12/20/visualbasic-powerpack-missing-from-visual-studio-2013/
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td>Reg_no</td>
<td>
<asp:Label runat="server" ID="lblreg_no" Text='<%# Eval("reg_no") %>' />
</td>
</tr>
<tr>
<td>Name</td>
<td>
<asp:Label runat="server" ID="lblname" Text='<%# Eval("name") %>' />
</td>
</tr>
<tr>
<td>DOB</td>
<td>
<asp:Label runat="server" ID="lbldob" Text='<%# Eval("dob") %>' />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
然後在你的代碼背後,你只需要像另一個容器一樣綁定它。
Repeater1.datasource= "";
Repeater1.DataBind();
ListView可能是最好的。 –
@ IgbyLargeman-Ok。將嘗試與列表視圖 – prograshid
您可以嘗試SQL透視從查詢級別生成這種結果 – tarzanbappa