Использовать сетку с помощью автоматического обновления / вставки / удаления оператора

У меня возникли проблемы с использованием элемента управления сетки 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 сетки, и после этого оно заработало. Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам