0

詳細ビューコントロールにドロップダウンリストを配置するにはどうすればよいですか?フィールドをテンプレートに変換しましたが、ドロップダウンリストを追加するときにいくつかの問題があります。基本的に、データがテーブルにバインドされていません。ドロップダウンに静的データを入れたいだけですが、[更新]ボタンを押すと保存されます。DetailViewを編集モードにしています。ありがとう

<asp:DetailsView ID="DetailsView2" runat="server" AutoGenerateRows="False" 
            BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" 
            CellPadding="4" CellSpacing="2" DataKeyNames="Post_ID" 
            DataSourceID="MyDataSource" ForeColor="Black" Height="50px" 
            Width="805px" DefaultMode="Edit">
            <EditRowStyle BackColor="#FFFFCC" Font-Bold="True" ForeColor="#003366" 
                BorderStyle="Groove" />
            <Fields>
                <asp:BoundField DataField="Post_ID" HeaderText="ID" ReadOnly="True" 
                    SortExpression="Post_ID" />
                <asp:TemplateField HeaderText="Category" 
                    SortExpression="CategoryList">



                     <EditItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server" 
                            Text='<%# Bind("CategoryList") %>'
                            Height="20px" Width="250px"></asp:TextBox>
                    </EditItemTemplate>




                      <InsertItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server" 
                            Text='<%# Bind("CategoryList") %>'
                            Height="20px" TextMode="MultiLine" Width="300px"></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("CategoryList") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>


 <asp:TemplateField ShowHeader="False">
                    <EditItemTemplate>
                        <asp:Button ID="Button1" runat="server" CausesValidation="True" 
                            CommandName="Update" Text="Update" />
                        &nbsp;<asp:Button ID="Button2" runat="server" CausesValidation="False" 
                            CommandName="Cancel" Text="Cancel" />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Button ID="Button1" runat="server" CausesValidation="False" 
                            CommandName="Edit" Text="Edit" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Fields>
            <FooterStyle BackColor="#CCCCCC" />
            <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
            <InsertRowStyle BackColor="#FFFFCC" />
            <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
            <RowStyle BackColor="White" />
        </asp:DetailsView> 
4

2 に答える 2

0

あなたはで試すことができます

    <EditItemTemplate>
        <asp:DropDownList ID="DropDownList2" Runat="server"   >
           <asp:ListItem>1</asp:ListItem>
           <asp:ListItem>2</asp:ListItem>
        </asp:DropDownList>
     </EditItemTemplate>

コードビハインド

protected void dvItem_DataBound(object sender, EventArgs e)
{
    if (this.dvItem.CurrentMode == DetailsViewMode.Edit)
    {
       DropDownList control= (DropDownList)this.dvItem.FindControl("IdDDL");
       ..          
    }
}  

選択

protected void dvItem_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
       DropDownList control = (DropDownList)this.dvItem.FindControl("IdDDL");
}  
于 2012-10-04T21:52:19.090 に答える
0

その単純な、フィールドをテンプレートフィールドに変換し、DetailsViewのスマートタグをクリックしてから[テンプレートの編集]を選択し、EditItemテンプレートのフィールドで静的データを含むDropDownListを追加し、EditDataBindingsでBoundToプロパティを設定します。

このような :

<asp:DropDownList ID="DropDownList1" runat="server" 
                            SelectedValue='<%# Bind("yourField") %>'>
                            <asp:ListItem>One</asp:ListItem>
                            <asp:ListItem>Two</asp:ListItem>
                            <asp:ListItem>Three</asp:ListItem>
                        </asp:DropDownList>
于 2012-10-04T21:52:59.883 に答える