Использовать сетку с помощью автоматического обновления / вставки / удаления оператора
У меня возникли проблемы с использованием элемента управления сетки Obout в веб-форме.
Я создал SqlDataSource с предложением where, используя текстовое свойство элемента управления label на странице. Текстовое свойство этого ярлыка обновляется с помощью радиокнопок. SqlDataSource имеет автоматическую вставку, удаление и обновление операторов. Все работает нормально, пока я не свяжу данные, когда выбрана радиокнопка.
Я сомневаюсь, что размещение какого-либо кода поможет, однако вот страница aspx.
<cc1:Grid ID="grdIntelligence" runat="server" AllowPaging="False" AllowRecordSelection="False" AutoGenerateColumns="False" DataSourceID="SqlGetIntelligence" NumberOfPagesShownInFooter="-1" ShowFooter="False">
<AddEditDeleteSettings AddLinksPosition="Top" NewRecordPosition="Top" />
<Columns>
<cc1:Column AllowEdit="true" AllowDelete="true" HeaderText="EDIT" Width="125" runat="server" />
<cc1:Column Visible ="false" DataField="ID" HeaderText="ID" Index="0" SortExpression="ID">
</cc1:Column>
<cc1:Column DataField="Name" HeaderText="Name" Index="1" SortExpression="Name">
</cc1:Column>
<cc1:Column DataField="MRTypeID" HeaderText="MRTypeID" Index="0" SortExpression="MRTypeID">
</cc1:Column>
</Columns>
<ScrollingSettings ScrollHeight="300px" ScrollWidth="600px" />
</cc1:Grid>
<asp:SqlDataSource ID="SqlGetIntelligence" runat="server" ConnectionString="<%$ ConnectionStrings:sqlConnectionString_rw %>" DeleteCommand="DELETE FROM [tblMarketResearch] WHERE [ID] = @ID" InsertCommand="INSERT INTO [tblMarketResearch] ([Name], [MRTypeID]) VALUES (@Name, @SelectedMarketIntelligence)" SelectCommand="SELECT * FROM [tblMarketResearch] WHERE ([MRTypeID] = @MRTypeID) ORDER BY [Name]" UpdateCommand="UPDATE [tblMarketResearch] SET [Name] = @Name, [MRTypeID] = @MRTypeID WHERE [ID] = @ID" OnInserting="SqlGetIntelligence_Inserting">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="SelectedMarketIntelligence" Type="Int32" />
</InsertParameters>
<SelectParameters>
<asp:ControlParameter ControlID="lblSelectedIntelligenceType" DefaultValue="2" Name="MRTypeID" PropertyName="Text" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="MRTypeID" Type="Int32" />
<asp:Parameter Name="ID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
Вот где я привязываю данные в коде события изменения радиокнопки
private void updateGrids()
{
grdIntelligence.DataSource = SqlGetIntelligence;
grdIntelligence.DataBind();
}
1 ответ
Решение
Я нашел ответ, мне пришлось отключить свойство viewstatemode сетки, и после этого оно заработало. Надеюсь, это кому-нибудь поможет.