У меня есть сетка, в которой данные привязаны к набору данных.В сетке у меня есть столбец DefaultValue, в котором есть три элемента управления - выпадающий список, флажок и текстовое поле.В зависимости от поступающих данных он может переключиться на любой из этих элементов управления.Все достаточно просто, когда нам нужно просто отобразить данные - в событии gridview_prerender я просто делаю один из элементов управления видимым.Элемент управления настроен следующим образом:
<asp:TemplateField HeaderText="Default Value" SortExpression="DefaultValue">
<ItemTemplate>
<asp:TextBox ID="txt_defaultValue_view" runat="server" Text='<%# Bind("DefaultValue") %>' Enabled ="false" />
<asp:DropDownList ID="ddl_defaultValue_view" runat="server" Enabled ="false" />
<asp:CheckBox ID="chk_defaultValue_view" runat="server" Enabled ="false" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt_defaultValue_edit" runat="server" Text='<%# Bind("DefaultValue") %>'/>
<asp:DropDownList ID="ddl_defaultValue_edit" runat="server" />
<asp:CheckBox ID="chk_defaultValue_edit" runat="server" />
</EditItemTemplate>
</asp:TemplateField>
Моя проблема начинается, когда я нахожусь в режиме редактирования, и мне нужно обновить сетку новыми данными.Поскольку только элемент управления textbox связан с данными, событие RowUpdating может получить доступ только к данным из столбца textbox, а все остальные мои данные просто отбрасываются.Я также не могу привязать данные с помощью флажка и элемента управления dropdownlist, так как они могут получить недопустимое исключение типа данных.Итак, кто-нибудь знает, как я могу обновить столбец, который имеет три разных элемента управления, где каждый из этих трех элементов управления может иметь действительные данные?