C# 是否可以使用两个不同的单击事件将数据保存在同一个表中

C# 是否可以使用两个不同的单击事件将数据保存在同一个表中,c#,sql,asp.net,C#,Sql,Asp.net,我想将所有字段存储在同一行的一个表中。具有两个不同的栅格视图插入事件。我正在使用ASPxGridView。让我分享网格结构的屏幕截图这是分层网格视图: 简言之: 如何在asp.net中将一个GridViewEvent调用为另一个GridViewEvent? 我正在为第二个栅格视图使用模板字段。正如我们在图片链接中看到的。我能够从第一个网格视图中保存记录,现在我正试图从第二个网格视图中保存记录,并使用相同的表和相同的行来实现相同的结果 ASPX ASPxGridView代码: <dx:AS

我想将所有字段存储在同一行的一个表中。具有两个不同的栅格视图插入事件。我正在使用ASPxGridView。让我分享网格结构的屏幕截图这是分层网格视图:

简言之:

如何在asp.net中将一个GridViewEvent调用为另一个GridViewEvent?

我正在为第二个栅格视图使用模板字段。正如我们在图片链接中看到的。我能够从第一个网格视图中保存记录,现在我正试图从第二个网格视图中保存记录,并使用相同的表和相同的行来实现相同的结果

ASPX ASPxGridView代码:

<dx:ASPxGridView ID="dgDepots" runat="server" ClientInstanceName="grid"
        KeyFieldName="LocationCode" Width="100%" OnDataBinding="dgDepots_DataBinding"
        OnRowDeleting="dgDepots_RowDeleting" OnRowInserting="dgDepots_RowInserting" OnRowUpdating="dgDepots_RowUpdating">
        <Columns>
            <dx:GridViewDataComboBoxColumn FieldName="LocationCode" PropertiesComboBox-ValueField="LocationCode" PropertiesComboBox-TextField="LocationName"
                VisibleIndex="0">
            </dx:GridViewDataComboBoxColumn>
            <dx:GridViewDataComboBoxColumn FieldName="CostCenterCode" PropertiesComboBox-ValueField="CostCenterCode" PropertiesComboBox-TextField="CostCenterName"
                VisibleIndex="1">
            </dx:GridViewDataComboBoxColumn>
            <dx:GridViewDataComboBoxColumn FieldName="GLCode" PropertiesComboBox-ValueField="GLAccountCode" PropertiesComboBox-TextField="GLAccountName"
                VisibleIndex="2">
            </dx:GridViewDataComboBoxColumn>
            <dx:GridViewCommandColumn ShowNewButton="true" ShowEditButton="true" ShowDeleteButton="true" VisibleIndex="3">
            </dx:GridViewCommandColumn>
        </Columns>
        <SettingsDetail ShowDetailRow="True" />
        <Styles Header-BackColor="LightBlue" Header-Font-Bold="true">
            <Header BackColor="LightBlue" Font-Bold="True" Font-Size="Medium">
            </Header>
        </Styles>
        <Templates>
            <DetailRow>
                <dx:ASPxGridView ID="dgCustomers" runat="server" KeyFieldName="CustomerCode"
                    OnBeforePerformDataSelect="dgCustomers_BeforePerformDataSelect" OnDataBinding="dgCustomers_DataBinding"
                    Width="100%" OnRowDeleting="dgCustomers_RowDeleting" OnRowInserting="dgCustomers_RowInserting"
                    OnRowUpdating="dgCustomers_RowUpdating">
                    <Columns>
                        <dx:GridViewDataTextColumn FieldName="CustomerCode" VisibleIndex="0">
                            <EditItemTemplate>
                                <input runat="server" id="txtText1" placeholder="Enter Customer Code" size="55" />
                              <asp:Button ID="btnSearch" runat="server" Text="Search" OnClientClick="return YourJavaScriptFunction();" />
                            </EditItemTemplate>
                        </dx:GridViewDataTextColumn>
                        <dx:GridViewDataColumn FieldName="PriceGroupCode" VisibleIndex="1">
                            <EditItemTemplate>
                                <input runat="server" id="txtText2" size="55" readonly="readonly" />
                            </EditItemTemplate>
                        </dx:GridViewDataColumn>
                        <dx:GridViewDataColumn FieldName="ChannelCode" VisibleIndex="2">
                            <EditItemTemplate>
                                <input runat="server" id="txtText3" size="55" readonly="readonly" />
                            </EditItemTemplate>
                        </dx:GridViewDataColumn>
                        <dx:GridViewDataColumn FieldName="SubChannelCode" VisibleIndex="3">
                            <EditItemTemplate>
                                <input runat="server" id="txtText4" size="55" readonly="readonly" />
                            </EditItemTemplate>
                        </dx:GridViewDataColumn>
                        <dx:GridViewCommandColumn ShowNewButton="true" ShowEditButton="true" ShowDeleteButton="true" VisibleIndex="4">
                        </dx:GridViewCommandColumn>
                    </Columns>
正如我们所看到的,我已经将一些值作为硬编码,这些硬编码值可以从第二个网格视图中获得,但我不明白如何将第二个网格视图记录保存在同一个表中,并且

我尝试将一个方法调用到另一个方法,但无法实现相同的结果

有人能帮我吗

protected void dgDepots_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
        {
            GridViewDataComboBoxColumn column1 = dgDepots.Columns["LocationCode"] as GridViewDataComboBoxColumn;
            string LocationCode = column1.PropertiesComboBox.Items.FindByValue(e.NewValues["LocationCode"]).Text;

            GridViewDataComboBoxColumn column2 = dgDepots.Columns["CostCenterCode"] as GridViewDataComboBoxColumn;
            string CostCenterCode = column2.PropertiesComboBox.Items.FindByValue(e.NewValues["CostCenterCode"]).Text;

            GridViewDataComboBoxColumn column3 = dgDepots.Columns["GLCode"] as GridViewDataComboBoxColumn;
            string GLCode = column3.PropertiesComboBox.Items.FindByValue(e.NewValues["GLCode"]).Text;


            var LocationName = hdnLocationText.Value;
           
            SqlCommand cmd = new SqlCommand("SP_Insert_Line_Item", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@LocationCode", LocationCode);
            cmd.Parameters.AddWithValue("@Ref_ID", 1); //HardCoded
            cmd.Parameters.AddWithValue("@Line_No", 2); // HardCoded
            cmd.Parameters.AddWithValue("@LocationName", "Default");
            cmd.Parameters.AddWithValue("@CustomerCode", 3); //HardCoded
            cmd.Parameters.AddWithValue("@CustomerDesc", "Default"); //HardCoded
            cmd.Parameters.AddWithValue("@ProductCode", 5); // Hard Coded But need to show in second level
            cmd.Parameters.AddWithValue("@ProductDesc", "Default"); // Hard Coded But need to show in second level
            cmd.Parameters.AddWithValue("@GLCode", GLCode);
            cmd.Parameters.AddWithValue("@CostCenterCode", CostCenterCode);
            con.Open();
            int i = cmd.ExecuteNonQuery();
            con.Close();
}