数据网格中的obout组合框

时间:2012-01-27 20:11:17

标签: gridview combobox obout

我有一个asp:gridview,我试图用一个obout:combobox替换asp:dropdownlist。我在网格外的页面上使用了一个组合框,它按预期工作。在gridview中代码看起来像这样

 <asp:GridView ID="dgKSA" runat="server" AutoGenerateColumns="False" GridLines="none"
    Width="980px" Style="border: 1px solid #404040" CellPadding="5" AlternatingRowStyle-BackColor="#F0F3F4"
    ShowHeader="false">
    <Columns>
        <asp:TemplateField ItemStyle-VerticalAlign="top">
            <ItemTemplate>
                <obout:ComboBox ID="ddlImportanceInDg" runat="server" Visible="true" Enabled="true" >
                    <obout:ComboBoxItem ID="ComboBoxItem1" runat="server" Value="5" Text="Extremely Important" />
                    <obout:ComboBoxItem ID="ComboBoxItem2" runat="server" Value="4" Text="Important" />
                    <obout:ComboBoxItem ID="ComboBoxItem3" runat="server" Value="3" Text="Moderately Important" />
                    <obout:ComboBoxItem ID="ComboBoxItem4" runat="server" Value="2" Text="Unimportant" />
                    <obout:ComboBoxItem ID="ComboBoxItem5" runat="server" Value="1" Text="Extremely Unimportant" />
                    <obout:ComboBoxItem ID="ComboBoxItem6" runat="server" Value="99" Text="Not Applicable"
                        Selected="true" />
                </obout:ComboBox>
                <%--<asp:DropDownList runat="server" ID="ddlImportanceInDg">
                    <asp:ListItem Value="5">Extremely Important</asp:ListItem>
                    <asp:ListItem Value="4">Important</asp:ListItem>
                    <asp:ListItem Value="3">Moderately Important</asp:ListItem>
                    <asp:ListItem Value="2">Unimportant</asp:ListItem>
                    <asp:ListItem Value="1">Extremely Unimportant</asp:ListItem>
                    <asp:ListItem Value="99" Selected="true">Not Applicable</asp:ListItem>
                </asp:DropDownList>--%>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

就是这样......当页面绘制时,组合框显示但只有最后一个combox中有任何项目。

希望有人有个主意。 谢谢 香农

1 个答案:

答案 0 :(得分:1)

我意识到你在7个月前问过这个问题,但我遇到了同样的问题并找到了解决方案,所以我想我会分享它。

基本上,您必须在创建行时为ComboBox分配唯一ID。

Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
        If e.Row.RowType = DataControlRowType.DataRow Then
            Dim ComboBox1 As Obout.ComboBox.ComboBox = CType(e.Row.FindControl("ComboBox1"), Obout.ComboBox.ComboBox)

            ComboBox1.ID = "ComboBox1_" & e.Row.RowIndex
        End If
End Sub