使用自动 update/insert/delete 语句的 obout 网格

obout grid using automated update/insert/delete statement

我在网络表单中使用 Obout 网格控件时遇到问题。

我在页面上使用标签控件的文本 属性 创建了一个具有 "where" 子句的 SqlDataSource。此标签的文本 属性 更新为单选按钮。 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();
}

我找到了答案,我必须将网格的 viewstatemode 属性 设置为禁用,然后它就可以工作了。希望这对某人有帮助。