我有一个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中有任何项目。
希望有人有个主意。 谢谢 香农
答案 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