[英]Bind GridView from dictionary asp.net C#
我設法用我的字典以經典方式填充我的 gridview,但我想做的是將鍵放在列中,將值放在行中,而不是使用帶有兩列鍵的經典視圖 | 價值。
所以我嘗試將這些列添加到 gridview 但我收到錯誤“在所選數據源中找不到字段或屬性”employee_type“。
我想我已經閱讀了所有類似的主題,但沒有一個能解釋我的問題
謝謝您的幫助
我的 aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
Dictionary<string, string> dico = new Dictionary<string, string>();
dico.Add("type_employe","salarié");
dico.Add("Nom","Doe");
dico.Add("Prenom","John");
GridView1.DataSource = dico;
GridView1.DataBind();
}
我的 aspx
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField="type_employe" HeaderText="Type employé" />
<asp:BoundField DataField="Nom" HeaderText="Nom" />
<asp:BoundField DataField="Prenom" HeaderText="Prenom" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
嘗試將AutoGenerateColumns
設置為 false,您可以在GridView
中使用字典的Key
和Value
,如下所示:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Key" />
<asp:BoundField DataField="Value" />
</Columns>
</asp:GridView>
如果您需要自定義 HeaderText,您可以嘗試使用自定義 object 作為您的字典值,然后您將能夠在GridView
列中使用該 object 的自定義屬性。 有關示例,請參見此答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.