簡體   English   中英

從字典 asp.net C# 中綁定 GridView

[英]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中使用字典的KeyValue ,如下所示:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM