как сделать ячейку в виде сетки как выпадающий - PullRequest
0 голосов
/ 04 августа 2011

Как сделать одну ячейку в сетке выпадающим. У меня есть редактируемая сетка, в которой все строки доступны для редактирования, кроме двух строк, которые можно выбрать из выпадающего списка. Как мы можем достичь этого? Я не мог начать даже, как продолжить. Есть идеи?

<asp:GridView AutoGenerateColumns="false" PageSize="300" ID="gvService"
                            runat="server" GridLines="None" BorderWidth="1" BorderColor="Brown" AlternatingRowStyle-BackColor="Cyan"
                            HeaderStyle-BackColor="ActiveCaption" ShowFooter="true">
                           <Columns>
                                <asp:TemplateField>
                                    <HeaderTemplate>
                                        Classic</HeaderTemplate>
                                    <ItemStyle HorizontalAlign="Center" />
                                    <ItemTemplate>
                                        <asp:Label ID="lblClassic" runat="server" Text='<%# Eval("Classic") %>' />
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField>
                                    <HeaderTemplate>
                                        ABC</HeaderTemplate>
                                    <ItemStyle HorizontalAlign="Center" />
                                    <ItemTemplate>
                                        <asp:Label ID="lblA" Visible='<%# ! IsInEditMode %>' runat="server" Text='<%# Eval("ABC") %>' />
                                        <asp:TextBox ID="txtA" Visible='<%# IsInEditMode %>' runat="server" Text='<%#Eval("ABC")%>'
                                            MaxLength="3" Columns="3">
                                        </asp:TextBox>
                                    </ItemTemplate>
                                </asp:TemplateField>    


Ответы [ 2 ]

1 голос
/ 04 августа 2011

Немного сложно понять, что именно вы просите, но вы можете просто добавить другое поле с раскрывающимся списком, например:

<asp:TemplateField>
    <HeaderTemplate>
        Classic</HeaderTemplate>
    <ItemStyle HorizontalAlign="Center" />
    <ItemTemplate>
        <asp:Label ID="lblClassic" runat="server" Text='<%# Eval("Classic") %>' />
    </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
    <HeaderTemplate>
        ABC</HeaderTemplate>
    <ItemStyle HorizontalAlign="Center" />
    <ItemTemplate>
        <asp:Label ID="lblA" Visible='<%# ! IsInEditMode %>' runat="server" Text='<%# Eval("ABC") %>' />
        <asp:TextBox ID="txtA" Visible='<%# IsInEditMode %>' runat="server" Text='<%#Eval("ABC")%>'
            MaxLength="3" Columns="3">
        </asp:TextBox>
    </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Header="header">
    <EditItemTemplate>
        <asp:DropDownList ID="ddl" runat="server"></asp:DropDownList>
    </EditItemTemplate>
    <ItemTemplate>
        <asp:Label ID="ddllbl" runat="server"></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

И если вы хотите привязать данные к нему явно, вы можете сделать:

// In your aspx page
<asp:DropDownList ID="yourDDL" runat="server" DataTextField="yourTextFieldName" DataValueField="yourValueFieldName" OnDataBinding="yourddl_DataBinding">
</asp:DropDownList>

// In your codebehind .cs file
protected void yourddl_DataBinding(object sender, System.EventArgs e)
{
    DropDownList ddl = (DropDownList)(sender);
    // This could be a List of objects, DataTable, DataSet, whatever
    ddl.DataSource = GetCachedData();  
    ddl.DataBind();
}
0 голосов
/ 04 августа 2011

быстрый ответ ... в окне сетки отредактируйте ваши шаблоны ... в нем должен быть раскрывающийся список ... в этом раскрывающемся списке вы найдете "изменить шаблон элемента", в котором вы можете установить любой элемент управления, который вам нужен ... и впросмотреть это должен быть просто текст или текстовое поле, что вы с.

маленькая информация о полях шаблона .. http://msdn.microsoft.com/en-us/library/aa479353.aspx

...