Quantcast
Channel: Telerik Forums RSS
Viewing all articles
Browse latest Browse all 84751

Rad Grid Insert Command Not Firing

$
0
0

RadGrid1_ItemInserted doesnt get fired when calling from OnItemInserted. I want to show client error message (exception message). Currently with below code it simply won't insert data if i enter wrong data type value in any of radgrid column but wouldn't throw error message too. I want to show user a error message. Please help me. Thanks in advance.

 

 

 

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HPPRawData.aspx.cs" Inherits="HPPDemo.HPPRawData" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>

            <telerik:RadGrid ID="RadGrid1" AutoGenerateColumns="False"
                AllowPaging="True" runat="server" OnItemDataBound="OnItemDataBoundHandler"
                DataSourceID="SqlDataSource1" FilterType="HeaderContext" EnableHeaderContextFilterMenu="True" EnableHeaderContextMenu="True" DataKeyNames="ID" OnItemInserted="RadGrid1_ItemInserted"
                ShowStatusBar="True" GroupPanelPosition="Top" CellSpacing="-1" GridLines="Both" AllowSorting="True" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" AutoGenerateDeleteColumn="True" AutoGenerateEditColumn="True">
                <GroupingSettings CollapseAllTooltip="Collapse all groups"></GroupingSettings>
                <MasterTableView ShowFooter="false" EditMode="InPlace" CommandItemDisplay="TopAndBottom" DataSourceID="SqlDataSource1" DataKeyNames="ID">
                    <RowIndicatorColumn Visible="False">
                    </RowIndicatorColumn>
                    <ExpandCollapseColumn Created="True">
                    </ExpandCollapseColumn>
                    <Columns>
                        <telerik:GridBoundColumn DataField="ID" DataType="System.Int32" FilterControlAltText="Filter ID column" HeaderText="ID" ReadOnly="True" SortExpression="ID" UniqueName="ID">
                        </telerik:GridBoundColumn>
                       <%-- <telerik:GridBoundColumn DataField="Year" DataType="System.Int32" FilterControlAltText="Filter Year column" HeaderText="Year" SortExpression="Year" UniqueName="Year">
                          </telerik:GridBoundColumn>--%>




                        <telerik:GridTemplateColumn HeaderText="Year" SortExpression="Year"
                        UniqueName="Year" EditFormColumnIndex="1" Visible="True">
                        <HeaderStyle Width="80px"></HeaderStyle>
                        <ItemTemplate>
                            <asp:Label runat="server" ID="Year" Text='<%# Eval("Year") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <br />
                            <asp:TextBox runat="server" ID="tbReorderLevel" Text='<%# Bind("Year") %>'></asp:TextBox>
                            <div style="color: #e93100;">
                                
                            </div>
                            <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Invalid input"
                                ControlToValidate="tbReorderLevel" OnServerValidate="CustomValidator1_ServerValidate">
                            </asp:CustomValidator>
                        </EditItemTemplate>
                    </telerik:GridTemplateColumn>







                       
                        <telerik:GridTemplateColumn UniqueName="WeekEnding" HeaderText="WeekEnding"
                            ItemStyle-Width="400px">
                            <ItemTemplate>
                                <%#DataBinder.Eval(Container.DataItem, "WeekEnding")%>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadDatePicker ID="picker1" runat="server" DbSelectedDate='<%# Bind("WeekEnding") %>'
                                    DefaultInsertValue="Today" Culture="Swedish (Sweden)">
                                </telerik:RadDatePicker>
                            </EditItemTemplate>
                            <ItemStyle Width="400px"></ItemStyle>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn UniqueName="RunDate" HeaderText="RunDate"
                            ItemStyle-Width="400px">
                            <ItemTemplate>
                                <%#DataBinder.Eval(Container.DataItem, "RunDate")%>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadDatePicker ID="picker2" runat="server" DbSelectedDate='<%# Bind("RunDate") %>'
                                    DefaultInsertValue="Today" Culture="Swedish (Sweden)">
                                </telerik:RadDatePicker>
                            </EditItemTemplate>
                            <ItemStyle Width="400px"></ItemStyle>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn UniqueName="SKU" HeaderText="Supplier" SortExpression="SKU"
                            ItemStyle-Width="400px">
                            <FooterTemplate>
                                Template footer
                            </FooterTemplate>
                            <FooterStyle VerticalAlign="Middle" HorizontalAlign="Center" />
                            <ItemTemplate>
                                <%#DataBinder.Eval(Container.DataItem, "SKU")%>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadComboBox runat="server" ID="RadComboBox1" EnableLoadOnDemand="True" DataTextField="item_No_Name"
                                    DataValueField="item_No" OnItemsRequested="RadComboBoxProduct_ItemsRequested"
                                    HighlightTemplatedItems="true" Height="140px" Width="220px" DropDownWidth="420px" Filter="StartsWith"
                                    DataSourceID="SqlDataSource3" SelectedValue='<%#Bind("SKU") %>'>
                                </telerik:RadComboBox>

                            </EditItemTemplate>

                            <ItemStyle Width="400px"></ItemStyle>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn UniqueName="ExpirationDate" HeaderText="ExpirationDate"
                            ItemStyle-Width="400px">
                            <ItemTemplate>
                                <%#DataBinder.Eval(Container.DataItem, "ExpirationDate")%>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadDatePicker ID="picker3" runat="server" DataSourceID="SqlDataSource1" DbSelectedDate='<%# Bind("ExpirationDate") %>'
                                    DefaultInsertValue="Today" Culture="Swedish (Sweden)">
                                </telerik:RadDatePicker>
                            </EditItemTemplate>
                            <ItemStyle Width="400px"></ItemStyle>
                        </telerik:GridTemplateColumn>

                        <telerik:GridBoundColumn DataField="UnitsProduced" DataType="System.Int32" FilterControlAltText="Filter UnitsProduced column" HeaderText="UnitsProduced" SortExpression="UnitsProduced" UniqueName="UnitsProduced">
                        <ColumnValidationSettings EnableRequiredFieldValidation="true" EnableModelErrorMessageValidation="true">
                                <RequiredFieldValidator ForeColor="Red" ErrorMessage="This field is required"></RequiredFieldValidator>
                                <ModelErrorMessage BackColor="Red" />
                            </ColumnValidationSettings>
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="PackagesPerCase" DataType="System.Int32" FilterControlAltText="Filter PackagesPerCase column" HeaderText="PackagesPerCase" SortExpression="PackagesPerCase" UniqueName="PackagesPerCase">
                        <ColumnValidationSettings EnableRequiredFieldValidation="true" EnableModelErrorMessageValidation="true">
                                <RequiredFieldValidator ForeColor="Red" ErrorMessage="This field is required"></RequiredFieldValidator>
                                <ModelErrorMessage BackColor="Red" />
                            </ColumnValidationSettings>
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="TotalPackages" DataType="System.Int32" FilterControlAltText="Filter TotalPackages column" HeaderText="TotalPackages" SortExpression="TotalPackages" UniqueName="TotalPackages">
                        <ColumnValidationSettings EnableRequiredFieldValidation="true" EnableModelErrorMessageValidation="true">
                                <RequiredFieldValidator ForeColor="Red" ErrorMessage="This field is required"></RequiredFieldValidator>
                                <ModelErrorMessage BackColor="Red" />
                            </ColumnValidationSettings>
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Pre_HPPLeaker_LoosePackaging" DataType="System.Int32" FilterControlAltText="Filter Pre_HPPLeaker_LoosePackaging column" HeaderText="Pre_HPPLeaker_LoosePackaging" SortExpression="Pre_HPPLeaker_LoosePackaging" UniqueName="Pre_HPPLeaker_LoosePackaging">
                       <ColumnValidationSettings EnableRequiredFieldValidation="true" EnableModelErrorMessageValidation="true">
                                <RequiredFieldValidator ForeColor="Red" ErrorMessage="This field is required"></RequiredFieldValidator>
                                <ModelErrorMessage BackColor="Red" />
                            </ColumnValidationSettings>
                             </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Post_HPP_Leaker_LoosePackaging" DataType="System.Int32" FilterControlAltText="Filter Post_HPP_Leaker_LoosePackaging column" HeaderText="Post_HPP_Leaker_LoosePackaging" SortExpression="Post_HPP_Leaker_LoosePackaging" UniqueName="Post_HPP_Leaker_LoosePackaging">
                        <ColumnValidationSettings EnableRequiredFieldValidation="true" EnableModelErrorMessageValidation="true">
                                <RequiredFieldValidator ForeColor="Red" ErrorMessage="This field is required"></RequiredFieldValidator>
                                <ModelErrorMessage BackColor="Red" />
                            </ColumnValidationSettings>
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="LineageLot" DataType="System.Int32" FilterControlAltText="Filter LineageLot column" HeaderText="LineageLot" SortExpression="LineageLot" UniqueName="LineageLot">
                        <ColumnValidationSettings EnableRequiredFieldValidation="true" EnableModelErrorMessageValidation="true">
                                <RequiredFieldValidator ForeColor="Red" ErrorMessage="This field is required"></RequiredFieldValidator>
                                <ModelErrorMessage BackColor="Red" />
                            </ColumnValidationSettings>
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="LotCode3" FilterControlAltText="Filter LotCode3 column" HeaderText="LotCode3" SortExpression="LotCode3" UniqueName="LotCode3">
                       <ColumnValidationSettings EnableRequiredFieldValidation="true" EnableModelErrorMessageValidation="true">
                                <RequiredFieldValidator ForeColor="Red" ErrorMessage="This field is required"></RequiredFieldValidator>
                                <ModelErrorMessage BackColor="Red" />
                            </ColumnValidationSettings>
                             </telerik:GridBoundColumn>




                        <%--  <telerik:GridTemplateColumn HeaderText="Machine_Name" ItemStyle-Width="240px">
                        <ItemTemplate>
                            <%#DataBinder.Eval(Container.DataItem, "Machine_Name")%>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadDropDownList RenderMode="Lightweight" runat="server" ID="RadDropDownList1"  SelectedValue='<%#Bind("SKU") %>'>
                                    <Items>
                                        <telerik:DropDownListItem Text="Machineon" />
                                        <telerik:DropDownListItem Text="MachineTw" />
                                    </Items>
                            </telerik:RadDropDownList>
                        </EditItemTemplate>
                    </telerik:GridTemplateColumn>--%>


                        <telerik:GridTemplateColumn HeaderText="Machine_Name" ItemStyle-Width="240px">
                            <ItemTemplate>
                                <%#DataBinder.Eval(Container.DataItem, "Machine_Name")%>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadComboBox runat="server" ID="RadComboBox8" DataTextField="Machine_Name" RenderMode="Lightweight"
                                    DataValueField="Machine_Name" DataSourceID="SqlDataSource2" SelectedValue='<%#Bind("Machine_Name") %>'>
                                </telerik:RadComboBox>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>



                        <%-- %>  <telerik:GridBoundColumn DataField="Machine_Name" FilterControlAltText="Filter Machine_Name column" HeaderText="Machine_Name" SortExpression="Machine_Name" UniqueName="Machine_Name">
                        </telerik:GridBoundColumn>--%>

                        <telerik:GridBoundColumn DataField="Date_Created" FilterControlAltText="Filter Date_Created column" HeaderText="Date_Created" SortExpression="Date_Created" UniqueName="Date_Created">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Date_Modified" FilterControlAltText="Filter Date_Modified column" HeaderText="Date_Modified" SortExpression="Date_Modified" UniqueName="Date_Modified">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Modified_by" FilterControlAltText="Filter Modified_by column" HeaderText="Modified_by" SortExpression="Modified_by" UniqueName="Modified_by">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Item_Name" Display="false" Visible="false" FilterControlAltText="Filter Item_Name column" HeaderText="Item_Name" SortExpression="Item_Name" UniqueName="Item_Name">
                        </telerik:GridBoundColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>

            <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:HPPConnectionString %>" SelectCommand="select distinct item_no,item_No_Name from dimitem"></asp:SqlDataSource>

            <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:HPPConnectionString %>" SelectCommand="select distinct machine_name from HPP_RAW_DATA where Machine_Name is not null"></asp:SqlDataSource>

        </div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>

        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HPPConnectionString %>"
            SelectCommand="SELECT * FROM [dbo].[vw_HPPRaw]"
            DeleteCommandType="StoredProcedure"
            DeleteCommand="HPPRawData_DeleteRecord"
            InsertCommandType="StoredProcedure"
            InsertCommand="HPPRawData_InsertRecord"
            UpdateCommandType="StoredProcedure"
            UpdateCommand="HPPRawData_UpdateRecord">
            <DeleteParameters>
                <asp:Parameter Name="ID" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="Year" Type="Int32" />
                <asp:Parameter Name="WeekEnding" Type="DateTime" />
                <asp:Parameter Name="RunDate" Type="DateTime" />
                <asp:Parameter Name="SKU" Type="String" />
                <asp:Parameter Name="ExpirationDate" Type="DateTime" />
                <asp:Parameter Name="UnitsProduced" Type="Int32" />
                <asp:Parameter Name="PackagesPerCase" Type="Int32" />
                <asp:Parameter Name="TotalPackages" Type="Int32" />
                <asp:Parameter Name="Pre_HPPLeaker_LoosePackaging" Type="Int32" />
                <asp:Parameter Name="Post_HPP_Leaker_LoosePackaging" Type="Int32" />
                <asp:Parameter Name="LineageLot" Type="Int32" />
                <asp:Parameter Name="LotCode3" Type="String" />
                <asp:Parameter Name="Machine_Name" Type="String" />
                <asp:Parameter Name="Date_Created" Type="DateTime" />
                <asp:Parameter Name="Date_Modified" Type="DateTime" />
                <asp:Parameter Name="Modified_by" Type="String" />
                <asp:Parameter Name="Item_Name" Type="String" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="ID" Type="Int32" />
                <asp:Parameter Name="Year" Type="Int32" />
                <asp:Parameter Name="WeekEnding" Type="DateTime" />
                <asp:Parameter Name="RunDate" Type="DateTime" />
                <asp:Parameter Name="SKU" Type="String" />
                <asp:Parameter Name="ExpirationDate" Type="DateTime" />
                <asp:Parameter Name="UnitsProduced" Type="Int32" />
                <asp:Parameter Name="PackagesPerCase" Type="Int32" />
                <asp:Parameter Name="TotalPackages" Type="Int32" />
                <asp:Parameter Name="Pre_HPPLeaker_LoosePackaging" Type="Int32" />
                <asp:Parameter Name="Post_HPP_Leaker_LoosePackaging" Type="Int32" />
                <asp:Parameter Name="LineageLot" Type="Int32" />
                <asp:Parameter Name="LotCode3" Type="String" />
                <asp:Parameter Name="Machine_Name" Type="String" />
                <asp:Parameter Name="Date_Created" Type="DateTime" />
                <asp:Parameter Name="Date_Modified" Type="DateTime" />
                <asp:Parameter Name="Modified_by" Type="String" />
                <asp:Parameter Name="Item_Name" Type="String" />
            </UpdateParameters>

        </asp:SqlDataSource>
    </form>
</body>
</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Code behind file is below :

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using Telerik.Web.UI;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace HPPDemo
{
    public partial class HPPRawData : System.Web.UI.Page
    {
       
        protected void OnItemDataBoundHandler(object sender, GridItemEventArgs e)
        {
            /*  if (e.Item.IsInEditMode)
              {
                  GridEditableItem item = (GridEditableItem)e.Item;
                  if (!(e.Item is IGridInsertItem))
                  {
                      RadComboBox combo = (RadComboBox)item.FindControl("RadComboBox1");
                      RadComboBoxItem selectedItem = new RadComboBoxItem();
                      selectedItem.Text = ((DataRowView)e.Item.DataItem)["Customer_Name"].ToString();
                      selectedItem.Value = ((DataRowView)e.Item.DataItem)["Customer_Name_No"].ToString();
                      selectedItem.Attributes.Add("Account_Name", ((DataRowView)e.Item.DataItem)["Account_Name"].ToString());
                      combo.Items.Add(selectedItem);
                      selectedItem.DataBind();
                      Session["Customer_Name_No"] = selectedItem.Value;
                  }
              }*/
        }
        protected void RadComboBoxProduct_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)
        {
            string sqlSelectCommand = "SELECT distinct item_No_Name from [dbo].[dimitem] WHERE [item_No_Name] LIKE @text + '%'";

            SqlDataAdapter adapter = new SqlDataAdapter(sqlSelectCommand,
            ConfigurationManager.ConnectionStrings["HPPConnectionString"].ConnectionString);
            adapter.SelectCommand.Parameters.AddWithValue("@text", e.Text);
            DataTable dataTable = new DataTable();
            adapter.Fill(dataTable);
            RadComboBox RadComboBoxProduct = (RadComboBox)sender;

            foreach (DataRow dataRow in dataTable.Rows)
            {
                RadComboBoxItem item = new RadComboBoxItem();

                item.Text = (string)dataRow["item_No_Name"];
                item.Value = dataRow["item_No_Name"].ToString();

                RadComboBoxProduct.Items.Add(item);

                item.DataBind();
            }
        }
         protected void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
        {
            if (args.Value.StartsWith("4"))
            {
                args.IsValid = false;
            }
        }
         private string gridMessage = null;
         private void SetMessage(string message)
         {
             gridMessage = message;
         }
        
         protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e)
         {
             if (e.Exception != null)
             {
                 e.ExceptionHandled = true;
                 SetMessage("Product cannot be inserted. Reason: " + e.Exception.Message);
             }
             else
             {
                 SetMessage("New product is inserted!");
             }
         }
    /*    protected void OnSelectedIndexChangedHandler(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            Session["item_NO_Name"] = e.Value;
        }
*/

    }
}


Viewing all articles
Browse latest Browse all 84751

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>