GridView 内に項目テンプレートを作成しました。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
CellPadding="3" GridLines="Horizontal" onrowdatabound="GridView1_RowDataBound" >
<AlternatingRowStyle BackColor="#F7F7F7" />
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Enabled='<%# Eval("id") %>'
Text="Label"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
今私の問題は、いくつかの重複した ID があり、一意の ID のみを表示したいため、「id」をハッシュ セットに格納していることです。
var id = new HashSet<String>();
id.Add("1");
id.Add("1");
id.Add("2");
id.Add("3");
id.Add("4");
id.Add("5");
Gridview1.DataSource=id;
Gridview1.DataBind();
Eval メソッドに問題があると思います。Hashset から値を取得しているとは思いません。
Hashste から Eval にデータをバインドする方法を誰かに説明してもらえますか?
また、ItemTemplate を使用していなくても機能していました。つまり、Hashset 値から直接 gridiew を埋めることができます。ただし、ネストされたグリッドビューを作成しようとしているため、アイテム テンプレートを使用しています。
ご不明な点がございましたら、お知らせください。