Asp.net 不支持AspxGridView指定的方法。问题

Asp.net 不支持AspxGridView指定的方法。问题,asp.net,linq-to-objects,devexpress,Asp.net,Linq To Objects,Devexpress,下面是我的.aspx aspxGridview语法 <dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" KeyFieldName="intProductCode" onrowinserted="ASPxGridView1_RowInserted"> <Columns> <dx:G

下面是我的.aspx aspxGridview语法

 <dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" 
            KeyFieldName="intProductCode" onrowinserted="ASPxGridView1_RowInserted">
            <Columns>
                <dx:GridViewCommandColumn VisibleIndex="0">
                    <EditButton Visible="True">
                    </EditButton>
                    <NewButton Visible="True">
                    </NewButton>
                    <DeleteButton Visible="True">
                    </DeleteButton>
                </dx:GridViewCommandColumn>
                <dx:GridViewDataTextColumn Caption="intProductCode" FieldName="intProductCode" 
                    VisibleIndex="1">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="strProductName" FieldName="strProductName" 
                    VisibleIndex="2">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="SKU" FieldName="SKU" VisibleIndex="3">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="PACK" FieldName="PACK" VisibleIndex="4">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="intQtyPerCase" FieldName="intQtyPerCase" 
                    VisibleIndex="5">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="mnyCasePrice" FieldName="mnyCasePrice" 
                    VisibleIndex="6">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="intTBQtyPerCase" 
                    FieldName="intTBQtyPerCase" VisibleIndex="7">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataCheckColumn Caption="bIsActive" FieldName="bIsActive" 
                    VisibleIndex="8">
                </dx:GridViewDataCheckColumn>
                <dx:GridViewDataTextColumn Caption="intSortingOrder" 
                    FieldName="intSortingOrder" VisibleIndex="9">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="strProductAccCode" 
                    FieldName="strProductAccCode" VisibleIndex="10">
                </dx:GridViewDataTextColumn>
            </Columns>
        </dx:ASPxGridView>
CREATE TABLE [dbo].[tblProductInfo](
    [intProductCode] [int] NOT NULL,
    [strProductName] [varchar](100) NULL,
    [SKU] [varchar](50) NULL,
    [PACK] [varchar](50) NULL,
    [intQtyPerCase] [int] NULL,
    [mnyCasePrice] [money] NULL,
    [intTBQtyPerCase] [int] NULL,
    [bIsActive] [bit] NULL,
    [intSortingOrder] [int] NULL,
    [strProductAccCode] [varchar](max) NULL,
 CONSTRAINT [PK_tblProductInfo] PRIMARY KEY CLUSTERED 
(
    [intProductCode] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
我的SQL语法

 <dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" 
            KeyFieldName="intProductCode" onrowinserted="ASPxGridView1_RowInserted">
            <Columns>
                <dx:GridViewCommandColumn VisibleIndex="0">
                    <EditButton Visible="True">
                    </EditButton>
                    <NewButton Visible="True">
                    </NewButton>
                    <DeleteButton Visible="True">
                    </DeleteButton>
                </dx:GridViewCommandColumn>
                <dx:GridViewDataTextColumn Caption="intProductCode" FieldName="intProductCode" 
                    VisibleIndex="1">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="strProductName" FieldName="strProductName" 
                    VisibleIndex="2">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="SKU" FieldName="SKU" VisibleIndex="3">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="PACK" FieldName="PACK" VisibleIndex="4">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="intQtyPerCase" FieldName="intQtyPerCase" 
                    VisibleIndex="5">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="mnyCasePrice" FieldName="mnyCasePrice" 
                    VisibleIndex="6">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="intTBQtyPerCase" 
                    FieldName="intTBQtyPerCase" VisibleIndex="7">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataCheckColumn Caption="bIsActive" FieldName="bIsActive" 
                    VisibleIndex="8">
                </dx:GridViewDataCheckColumn>
                <dx:GridViewDataTextColumn Caption="intSortingOrder" 
                    FieldName="intSortingOrder" VisibleIndex="9">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="strProductAccCode" 
                    FieldName="strProductAccCode" VisibleIndex="10">
                </dx:GridViewDataTextColumn>
            </Columns>
        </dx:ASPxGridView>
CREATE TABLE [dbo].[tblProductInfo](
    [intProductCode] [int] NOT NULL,
    [strProductName] [varchar](100) NULL,
    [SKU] [varchar](50) NULL,
    [PACK] [varchar](50) NULL,
    [intQtyPerCase] [int] NULL,
    [mnyCasePrice] [money] NULL,
    [intTBQtyPerCase] [int] NULL,
    [bIsActive] [bit] NULL,
    [intSortingOrder] [int] NULL,
    [strProductAccCode] [varchar](max) NULL,
 CONSTRAINT [PK_tblProductInfo] PRIMARY KEY CLUSTERED 
(
    [intProductCode] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
当我要插入时,显示错误消息不支持指定的方法。
如何解决此问题。

您好,您只需确保要插入或更新。在插入方法中,需要写入 e.cancle=true


您好,您只需确保要插入或更新。在插入方法中,需要写入 e.cancle=true


当ASPxGridView试图调用其基础数据源的Update(Insert,Delete)命令,但未指定此命令时,将显示“指定的方法不受支持”错误消息。如果无法定义此命令,请处理行更新(行插入、行删除)事件,手动更新数据源(e.NewValues字典包含输入值),最后将e.Cancel参数设置为true并调用ASPxGridView.CancelEdit方法。

不支持指定的方法当ASPxGridView试图调用其基础数据源的Update(Insert,Delete)命令,但未指定此命令时,将显示错误消息。如果无法定义此命令,请处理行更新(行插入、行删除)事件,手动更新数据源(e.NewValues字典包含输入值),最后,将e.Cancel参数设置为true并调用ASPxGridView.CancelEdit方法。

这包含解决方案要执行的操作。如何执行


这包含解决方案要做什么。如何做


如果您不打算使用数据源命令,则可以使用网格行更新事件并设置e.Cancel=true,然后调用Grid.CancelEdit()方法(如上面DevExpress团队所述。下面是一个示例:

        void grid_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
    {
        // Your update logic here.
        e.Cancel = true;
        this.editableGrid.CancelEdit();
    }

如果您不打算使用DataSource命令,则可以使用Grid RowUpdate事件并设置e.Cancel=true,然后调用Grid.CancelEdit()方法(如上面DevExpress团队所述。下面是一个示例:

        void grid_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
    {
        // Your update logic here.
        e.Cancel = true;
        this.editableGrid.CancelEdit();
    }

请发送一些语法。我想插入而不是更新,而不是删除。如果我在rowInserting方法上设置e.Cancle=true,则rowInserted方法不起作用。实际上,E257示例显示了如何使用这些事件。为什么需要使用rowInserted事件?在您的情况下,不应该引发它,所有代码都应该在t中实现RowInserting事件处理程序。如果您使用此建议,您将得到一个脏网格,数据库已更改,但网格未显示新记录否!网格将显示更新的数据。如果ASPxGridView使用自己的逻辑更新数据库中的数据,则RowInserted事件仅由ASPxGridView引发。因为一切都是在RowInsert中完成的ing event和e.Cancel设置为true,网格不会调用其机制,因此不会引发事件。因此,请确保,建议的方法绝对正确。我自己多次使用过它。最后,E257示例也没有使用ROWSERTED事件,并且所有操作都正常。请发送一些语法。我想继续ert大于更新,大于删除。如果我在rowInserting方法上设置e.Cancle=true,则rowInserted方法不起作用。实际上,E257示例显示了如何使用这些事件。为什么需要使用rowInserted事件?在您的情况下,不应引发该事件,所有代码都应在rowInserting事件处理程序中实现。如果s建议您使用脏网格结束,数据库已更改,但网格未显示新记录否!网格将显示更新的数据。只有当ASPxGridView使用其自己的逻辑更新数据库中的数据时,RowInserted事件才会由ASPxGridView引发。由于所有操作都是在RowInserting事件中完成的,并且e.Cancel设置为true,因此grid不调用其机制,因此不会引发事件。因此,请确保,建议的方法绝对正确。我自己多次使用过它。最后,E257示例也没有使用RowInserted事件,并且所有操作都正常。