次のコードを使用して、グリッドビュー内のドロップダウンのデータソースを設定していますが、機能していません。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList drop = (DropDownList)e.Row.FindControl("folderslist");
drop.DataSource = list;
drop.DataBind();
}
listは文字列のリストであり、グリッドビューの外部にあるドロップダウンにfindをバインドします。ただし、上記のコードは、グリッドビュー内のドロップダウンにデータを入力しません。
<asp:GridView ID="GridView1" HorizontalAlign="Center"
AutoGenerateColumns="false" CellSpacing="5" CellPadding="5" CssClass="GridView" Font-Size="Small"
runat="server" OnRowDataBound = "GridView1_RowDataBound" >
<Columns>
<asp:BoundField HeaderText="From" DataField="From" />
<asp:BoundField HeaderText="Subject" DataField="Subject" />
<asp:BoundField HeaderText="Received" DataField="Received" />
<asp:TemplateField HeaderText="Attachments" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:ImageButton runat="server" ID="attach" CommandName="viewattachments" Text="More"
ImageUrl="~/images/notes.png" visible='<%# System.Convert.ToBoolean((DataBinder.Eval(Container.DataItem, "Attachments").ToString() == "") ? false : true) %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
<asp:TemplateField HeaderText="Move To" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:DropDownList ID="folderslist" runat="server"></asp:DropDownList>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
</Columns>
</asp:GridView>