This is a migrated thread and some comments may be shown as answers.

InsertCommand only firing after hitting submit button twice

1 Answer 111 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Kien Lim
Top achievements
Rank 1
Kien Lim asked on 11 Mar 2011, 02:47 AM
Hi,

I have a radgrid with that has a edittemplate with a cascading dropdown list. first dropdown allow to select project type then 2nd dropdown will bind the datasource accordingly. I have to click "Insert" twice to fire the insercommand.

                <telerik:RadGrid ID="rdGEDetails" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" GridLines="None"
                    Height="383px" OnDeleteCommand="rdGEDetails_DeleteCommand" OnInsertCommand="rdGEDetails_InsertCommand"
                    OnItemDataBound="rdGEDetails_ItemDataBound" OnNeedDataSource="rdGEDetails_NeedDataSource" onUpdateCommand="rdGEDetails_UpdateCommand" Skin="Web20"
                    Width="642px" OnItemCreated="rdGEDetails_ItemCreated">
                    <ValidationSettings ValidationGroup="FormValidation" />
                    <MasterTableView AutoGenerateColumns="False" GridLines="Both" CommandItemDisplay="Top" CurrentResetPageIndexAction="SetPageIndexToLast"
                        DataKeyNames="GeneralExpenseDetailID" EditMode="PopUp" InsertItemPageIndexAction="ShowItemOnFirstPage" >
                        <Columns>
                            <telerik:GridEditCommandColumn>
                            </telerik:GridEditCommandColumn>
                            <telerik:GridButtonColumn CommandName="Delete" ConfirmText="Do you wish to delete this record?"
                                Text="Delete" UniqueName="column1">
                            </telerik:GridButtonColumn>
                            <telerik:GridBoundColumn DataField="GeneralExpenseDetailID" DataType="System.Guid" HeaderText="GeneralExpenseDetailID"
                                ReadOnly="True" SortExpression="GeneralExpenseDetailID" UniqueName="GeneralExpenseDetailID" Visible="False">
                            </telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn DataField="GeneralDate" DataType="System.DateTime" HeaderText="Doc. Date" SortExpression="GeneralDate"
                                UniqueName="GeneralDate">
                                <EditItemTemplate>
                              <telerik:RadDatePicker ID="radDocdate"  MinDate="2006/1/1" runat="server" DbSelectedDate='<%# Bind("GeneralDate") %>'>
                                          <DateInput DateFormat="dd/MM/yyyy"></DateInput>
                            </telerik:RadDatePicker>                                   
                                    <asp:RequiredFieldValidator ID="rfvDocdate" runat="server" ControlToValidate="radDocdate"
                                        ErrorMessage="*" ValidationGroup="FormValidation"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblDocdate" runat="server" Text='<%# Eval("GeneralDate", "{0:dd/MM/yyyy}") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="DocNo" HeaderText="Doc. No" SortExpression="DocNo"
                                UniqueName="DocNo">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtDocno" runat="server" MaxLength="100" Text='<%# Bind("DocNo") %>'></asp:TextBox>                                   
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblDocno" runat="server" Text='<%# Eval("DocNo") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>                          
                            <telerik:GridTemplateColumn DataField="Category" HeaderText="Category"
                                SortExpression="Category" UniqueName="Category">
                                <EditItemTemplate>
                                    <telerik:RadComboBox ID="rcboCategory" runat="server">
                                        <CollapseAnimation Duration="200" Type="OutQuint" />
                                    </telerik:RadComboBox>
                                    <asp:RequiredFieldValidator ID="rfvCategory" runat="server" ControlToValidate="rcboCategory"
                                        ErrorMessage="*" ValidationGroup="FormValidation" InitialValue="-- SELECT --"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblCategory" runat="server" Text='<%# Eval("Category") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>                      
                            <telerik:GridTemplateColumn DataField="Description" HeaderText="Description" SortExpression="Description"
                                UniqueName="Description">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtDescription" runat="server" MaxLength="150" Width="350px" Text='<%# Bind("Description") %>'></asp:TextBox>
                                    <asp:RequiredFieldValidator ID="rfvDescription" runat="server" ControlToValidate="txtDescription"
                                        ErrorMessage="*" ValidationGroup="FormValidation"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblDescription" runat="server" Text='<%# Eval("Description") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="Currency" HeaderText="Currency"
                                SortExpression="Currency" UniqueName="Currency">
                                <EditItemTemplate>
                                    <telerik:RadComboBox ID="rcboCurrency" runat="server">
                                        <CollapseAnimation Duration="200" Type="OutQuint" />
                                    </telerik:RadComboBox>
                                    <asp:RequiredFieldValidator ID="rfvCurrency" runat="server" ControlToValidate="rcboCurrency"
                                        ErrorMessage="*" ValidationGroup="FormValidation" InitialValue="-- SELECT --"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblCurrency" runat="server" Text='<%# Eval("Currency") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="ExRate" HeaderText="Ex Rate" DataType="System.Decimal" SortExpression="ExRate" UniqueName="ExRate">
                                <EditItemTemplate>
                                    <telerik:RadNumericTextBox ID="txtExRate" runat="server" DbValue='<%# Eval("ExRate") %>' >
                                                  <numberformat DecimalDigits="5" />                                       
                                    </telerik:RadNumericTextBox>
                                    <asp:RequiredFieldValidator ID="rfvExRate" runat="server" ControlToValidate="txtExRate"
                                        ErrorMessage="*" ValidationGroup="FormValidation" ></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblExRate" runat="server" Text='<%# Eval("ExRate") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="Amount" HeaderText="Amount" DataType="System.Decimal" SortExpression="Amount" UniqueName="Amount">
                                <EditItemTemplate>
                                    <telerik:RadNumericTextBox ID="txtAmount" runat="server" DbValue='<%# Eval("Amount") %>'>
                                                  <numberformat DecimalDigits="2" />                                       
                                    </telerik:RadNumericTextBox>
                                    <asp:RequiredFieldValidator ID="rfvAmount" runat="server" ControlToValidate="txtAmount"
                                        ErrorMessage="*" ValidationGroup="FormValidation" ></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblAmount" runat="server" Text='<%# Eval("Amount","{0:0.00}") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <%--<telerik:GridNumericColumn DataField="Amount" DataType="System.Decimal" HeaderText="Amount" HeaderStyle-HorizontalAlign="Right"
                        ItemStyle-HorizontalAlign="Right" ReadOnly="false" UniqueName="Amount" />--%>
                            <telerik:GridTemplateColumn DataField="AmountSGD" HeaderText="AmountSGD" SortExpression="AmountSGD" UniqueName="AmountSGD" DataType="System.Decimal" >                        
                               <ItemTemplate>
                                    <asp:Label ID="lblAmountSGD" runat="server" Text='<%# Eval("AmountSGD") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="Remarks" HeaderText="Comments" SortExpression="Remarks" UniqueName="Remarks">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtComments" runat="server" TextMode="MultiLine"  MaxLength="150" Width="350px" Text='<%# Bind("Remarks") %>'></asp:TextBox>  
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblComments" runat="server" Text='<%# Eval("Remarks") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="ChargeType" HeaderText="Charge Type" SortExpression="ChargeType" UniqueName="ChargeType">
                                <EditItemTemplate>
                                    <telerik:RadComboBox ID="rcboChargeType" runat="server">
                                        <CollapseAnimation Duration="200" Type="OutQuint" />
                                    </telerik:RadComboBox>
                                    <asp:RequiredFieldValidator ID="rfvChargeType" runat="server" ControlToValidate="rcboChargeType"
                                        ErrorMessage="*" ValidationGroup="FormValidation" InitialValue="-- SELECT --"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblChargeType" runat="server" Text='<%# Eval("ChargeType") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="ChargeCode" HeaderText="Project No." SortExpression="ChargeCode" UniqueName="ChargeCode">
                                <EditItemTemplate>
                                    <telerik:RadComboBox ID="rcboChargeCode" runat="server" Filter="Contains" EnableLoadOnDemand="true" Width="350px" >
                                        <CollapseAnimation Duration="200" Type="OutQuint" />
                                    </telerik:RadComboBox>
                                    <asp:RequiredFieldValidator ID="rfvChargeCode" runat="server" ControlToValidate="rcboChargeCode"
                                        ErrorMessage="*" ValidationGroup="FormValidation" InitialValue="-- SELECT --"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblChargeCode" runat="server" Text='<%# Eval("ChargeCode") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>                          
                             
                        </Columns>
                        <EditFormSettings>
                            <PopUpSettings Width="500px" />
                            <EditColumn UniqueName="EditCommandColumn1">                           
                            </EditColumn>
                        </EditFormSettings>
                    </MasterTableView>
                    <GroupingSettings CaseSensitive="False" />
                </telerik:RadGrid></td>

    <telerik:RadScriptManager ID="RadScriptManager" runat="server">
    </telerik:RadScriptManager>
    <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server">
    </telerik:RadStyleSheetManager>
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="Validation Summary"
                    Height="1px" ShowMessageBox="True" ShowSummary="False" Width="196px" />
    <telerik:RadAjaxManager ID="RadAjaxManager" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="rdGEDetails">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rdGEDetails" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="PanelAT">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="PanelAT" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>    
    </telerik:RadAjaxManager>


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using eClaims.DAL;
using eClaims.DAL.SqlClient;
using eClaims.Entities;
using eClaims.Services;
using Telerik.Web.UI;
using e_Claims;
 
namespace eClaims.Forms.GeneralExpense
{
    
    public partial class GECForm : System.Web.UI.Page
    {
        private static string _GECid;
         
        protected GeneralExpenseClaimService ser_GEC = new GeneralExpenseClaimService();
        protected GeneralExpenseClaimDetailService ser_GECD = new GeneralExpenseClaimDetailService();
        protected GeneralExpenseClaimDetail ent_GECD = new GeneralExpenseClaimDetail();
        protected ExcRateService ser_ExcRate = new ExcRateService();
        protected ExcRateQuery qry_ExcRate = new ExcRateQuery();
        private static TList<GeneralExpenseClaimDetail> list_GECD = new TList<GeneralExpenseClaimDetail>();
 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                //_GECid=Request.QueryString.Get("GECid");
                setValue();
           
            }
        }
 
        private void setValue()
        {
            list_GECD = new TList<GeneralExpenseClaimDetail>();
            _GECid=null;
        }
 
        protected void rdGEDetails_DeleteCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            GridEditableItem editedItem = e.Item as GridEditableItem;
            string key = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["GeneralExpenseDetailID"].ToString();
            try
            {
                int index = list_GECD.FindIndex(
                    delegate(GeneralExpenseClaimDetail ent_GEC)
                    {
                        return ent_GEC.GeneralExpenseDetailID == new Guid(key);
                    });
 
                if (index >= 0)
                {                 
                    list_GECD.RemoveAt(index);
                }
                else
                {
                    this.setMessage("Failed to delete the claim.");
                }
            }
            catch (Exception ex)
            {
            }
        }
 
        protected void rdGEDetails_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            Boolean insSuccess = true;
            decimal amountSGD;
            GridEditFormInsertItem insertedItem = (GridEditFormInsertItem)e.Item;
 
            if ((insertedItem.FindControl("rcboChargeCode") as RadComboBox).SelectedValue.Length == 0)
            {
                setMessage("Invalid project charge code");
                insSuccess = false;
            }          
  
 
            try
            {
                if (insSuccess)
                {
                    ent_GECD.GeneralExpenseDetailID = Guid.NewGuid();                   
                    ent_GECD.GeneralDate = (insertedItem.FindControl("radDocdate") as RadDatePicker).SelectedDate;
                    ent_GECD.DocNo = (insertedItem.FindControl("txtDocno") as TextBox).Text;
                    ent_GECD.Category = (insertedItem.FindControl("rcboCategory") as RadComboBox).SelectedValue;
                    ent_GECD.Description = (insertedItem.FindControl("txtDescription") as TextBox).Text;
                    ent_GECD.Currency = (insertedItem.FindControl("rcboCurrency") as RadComboBox).SelectedValue;
                    try
                    {ent_GECD.ExRate = Convert.ToDecimal((insertedItem.FindControl("txtExRate") as RadNumericTextBox).Text);}
                    catch{}
                    try
                    { ent_GECD.Amount = Convert.ToDecimal((insertedItem.FindControl("txtAmount") as RadNumericTextBox).Text); }
                   // { ent_GECD.Amount= Convert.ToDecimal((insertedItem["Amount"].Controls[0] as RadNumericTextBox).Text);}
                    catch { }
                    amountSGD = ent_GECD.Amount.Value * ent_GECD.ExRate.Value;
                    try
                    {ent_GECD.AmountSGD = Convert.ToDecimal(amountSGD.ToString("#.##"));}
                    catch{}
                    ent_GECD.Remarks = (insertedItem.FindControl("txtComments") as TextBox).Text;
                    ent_GECD.ChargeType = (insertedItem.FindControl("rcboChargeType") as RadComboBox).SelectedValue;
                    ent_GECD.ChargeCode = (insertedItem.FindControl("rcboChargeCode") as RadComboBox).SelectedValue;
 
                    list_GECD.Add(ent_GECD);
                    this.rdGEDetails.DataSource = list_GECD;
 
                }
                else
                { e.Canceled = true; }
            }
            catch (Exception ex)
            {
                e.Canceled = true;
                this.setMessage(ex.ToString());
            }
        }
 
        protected void rdGEDetails_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            if ((e.Item is GridEditFormItem) && e.Item.IsInEditMode)
            {
                GridEditFormItem gridEditFormItem = (GridEditFormItem)e.Item;
 
                RadComboBox rcboCategory = gridEditFormItem["Category"].FindControl("rcboCategory") as RadComboBox;
                rcboCategory.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT * from ExpenseType where formname='GEC'");
                rcboCategory.DataTextField = "ExpDesc";
                rcboCategory.DataValueField = "ExpCode";
                rcboCategory.DataBind();
                rcboCategory.Items.Insert(0, new RadComboBoxItem("-- SELECT --", "0"));
                rcboCategory.SelectedValue = CommonValidator.comboSelectedValue(DataBinder.Eval(e.Item.DataItem, "Category"));
 
                RadComboBox rcboCurrency = gridEditFormItem["Currency"].FindControl("rcboCurrency") as RadComboBox;
                rcboCurrency.DataSource = ser_ExcRate.Find(null, "Currency ASC");
                rcboCurrency.DataTextField = "Currency";
                rcboCurrency.DataValueField = "Currency";
                rcboCurrency.DataBind();
                rcboCurrency.Items.Insert(0, new RadComboBoxItem("-- SELECT --", "0"));
                rcboCurrency.SelectedValue = CommonValidator.comboSelectedValue(DataBinder.Eval(e.Item.DataItem, "Currency"));
 
                RadComboBox rcboProjectType = gridEditFormItem["ChargeType"].FindControl("rcboChargeType") as RadComboBox;               
                rcboProjectType.Items.Insert(0, new RadComboBoxItem("-- SELECT --", "0"));
                rcboProjectType.Items.Insert(1, new RadComboBoxItem("Project No", "Project No"));
                rcboProjectType.Items.Insert(2, new RadComboBoxItem("Cost Center", "Cost Center"));
                rcboProjectType.Items.Insert(3, new RadComboBoxItem("Order", "Order"));
                rcboProjectType.Items.Insert(4, new RadComboBoxItem("Sales Order", "Sales Order"));
                rcboProjectType.SelectedValue = CommonValidator.comboSelectedValue(DataBinder.Eval(e.Item.DataItem, "ChargeType"));
          
                RadComboBox rcboChargeCode = gridEditFormItem["ChargeCode"].FindControl("rcboChargeCode") as RadComboBox;        
                if (rcboProjectType.SelectedValue == "Project No")
                {
                    rcboChargeCode.ClearSelection();
                    rcboChargeCode.Text = "";
                    rcboChargeCode.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                                "SELECT *,pspnr+'      '+post1 as merge FROM Project where s_sperr <> 'x' or s_sperr=''");
                    rcboChargeCode.DataTextField = "merge";
                    rcboChargeCode.DataValueField = "pspnr";
                    rcboChargeCode.DataBind();                       
                }
                else if (rcboProjectType.SelectedValue == "Cost Center")
                {
                    rcboChargeCode.ClearSelection();
                    rcboChargeCode.Text = "";
                    rcboChargeCode.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                                "SELECT * ,kostl+'      '+ktext_en as merge  FROM CostCenter where kokrs='2610'");
                    rcboChargeCode.DataTextField = "merge";
                    rcboChargeCode.DataValueField = "kostl";
                    rcboChargeCode.DataBind();                       
                }
                else if (rcboProjectType.SelectedValue == "Order")
                {
                    rcboChargeCode.ClearSelection();
                    rcboChargeCode.Text = "";
                    rcboChargeCode.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                                "SELECT *,aufnr+'      '+ktext as merge FROM [Order] where s_sperr <> 'x' or s_sperr='' order by aufnr");
                    rcboChargeCode.DataTextField = "merge";
                    rcboChargeCode.DataValueField = "aufnr";
                    rcboChargeCode.DataBind();                       
                }
                else if (rcboProjectType.SelectedValue == "Sales Order")
                {
                    rcboChargeCode.ClearSelection();
                    rcboChargeCode.Text = "";
                    rcboChargeCode.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                                "SELECT *,quot+'      '+description as merge FROM SalesOrder where S_Lock <> 'x' or S_Lock='' ");
                    rcboChargeCode.DataTextField = "merge";
                    rcboChargeCode.DataValueField = "quot";
                    rcboChargeCode.DataBind();                       
                }
                else
                {
                    //rcboChargeCode.DataSource = null;
                    //rcboChargeCode.DataBind();
                }
                rcboChargeCode.SelectedValue = CommonValidator.comboSelectedValue(DataBinder.Eval(e.Item.DataItem, "ChargeCode"));
                }
            }
 
        protected void btnSave_Click(object sender, EventArgs e)
        {  
             
            string sqn=CommonFunctions.GetSeqNo(ConstantResource.ClaimType.CTGeneralExpenseClaim);   
        }
        protected void rdGEDetails_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            this.rdGEDetails.DataSource = list_GECD;
        }
 
        protected void rdGEDetails_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
 
        }
        protected void setMessage(string message)
        {
            this.RadAjaxManager.Alert(message);
        }
 
        protected void rdGEDetails_ItemCreated(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                //the dropdown list will be the first control in the Controls collection of the corresponding cell
                RadComboBox list = (e.Item as GridEditableItem)["Currency"].FindControl("rcboCurrency") as RadComboBox;    
                //attach SelectedIndexChanged event for the combobox control
                list.AutoPostBack = true;
                list.CausesValidation = false;
                list.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(list_SelectedIndexChanged);
 
                //the dropdown list will be the first control in the Controls collection of the corresponding cell
                RadComboBox projlist = (e.Item as GridEditableItem)["ChargeType"].FindControl("rcboChargeType") as RadComboBox;
                //attach SelectedIndexChanged event for the combobox control
                projlist.AutoPostBack = true;
                projlist.CausesValidation = false;
                projlist.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(projlist_SelectedIndexChanged);
 
                 
            }
        }
        void list_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            //first reference the edited grid item through the NamingContainer attribute
            GridEditableItem editedItem = (sender as RadComboBox).NamingContainer as GridEditableItem;
 
            //the dropdown list will be the first control in the Controls collection of the corresponding cell
            //for custom edit forms (WebUserControl/FormTemplate) you can find the column editor with the FindControl(controlId) method
            RadNumericTextBox txtExchangeRate = editedItem["ExRate"].FindControl("txtExRate") as RadNumericTextBox;
 
            qry_ExcRate.AppendEquals(ExcRateColumn.Currency, (editedItem["Currency"].FindControl("rcboCurrency") as RadComboBox).SelectedValue);
            txtExchangeRate.Text = ser_ExcRate.Find(qry_ExcRate.GetParameters())[0].Rate.HasValue ? ser_ExcRate.Find(qry_ExcRate.GetParameters())[0].Rate.ToString() : "0";                
 
        }
 
        void projlist_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            //first reference the edited grid item through the NamingContainer attribute
            GridEditableItem editedItem = (sender as RadComboBox).NamingContainer as GridEditableItem;
            RadComboBox ddList = editedItem["ChargeCode"].FindControl("rcboChargeCode") as RadComboBox;
            //the dropdown list will be the first control in the Controls collection of the corresponding cell
            //for custom edit forms (WebUserControl/FormTemplate) you can find the column editor with the FindControl(controlId) method
            string projecttype = (editedItem["ChargeType"].FindControl("rcboChargeType") as RadComboBox).SelectedValue.ToString();
             
            if (projecttype == "Project No")
            {               
                ddList.ClearSelection();
                ddList.Text = "";
                ddList.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT *,pspnr+'      '+post1 as merge FROM Project where s_sperr <> 'x' or s_sperr=''");
                ddList.DataTextField = "merge";
                ddList.DataValueField = "pspnr";
                ddList.DataBind();
            }
            else if (projecttype == "Cost Center")
            {               
                ddList.ClearSelection();
                ddList.Text = "";
                ddList.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT * ,kostl+'      '+ktext_en as merge  FROM CostCenter where kokrs='2610'");
                ddList.DataTextField = "merge";
                ddList.DataValueField = "kostl";  
                ddList.DataBind();
            }
            else if (projecttype == "Order")
            {
                ddList.ClearSelection();
                ddList.Text = "";
                ddList.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT *,aufnr+'      '+ktext as merge FROM [Order] where s_sperr <> 'x' or s_sperr='' order by aufnr");
                ddList.DataTextField = "merge";
                ddList.DataValueField = "aufnr";  
                ddList.DataBind();
            }
            else if (projecttype == "Sales Order")
            {               
                ddList.ClearSelection();
                ddList.Text = "";
                ddList.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT *,quot+'      '+description as merge FROM SalesOrder where S_Lock <> 'x' or S_Lock='' ");
                ddList.DataTextField = "merge";
                ddList.DataValueField = "quot";  
                ddList.DataBind();
            }
            else { }
        }
    }
}

1 Answer, 1 is accepted

Sort by
0
Accepted
Martin
Telerik team
answered on 16 Mar 2011, 08:38 AM
Hello Kien Lim,

I have reviewed your code and noticed that you cancel the Insert command (call e.Canceled="true") in two scenarios:
  1. When insSuccess is false.
  2. In the catch block, in case exception is thrown during the insert operation.

My suggestion is to debug your code and verify whether any if the above scenarios are met during your first attempt to insert an item. In this case just modify your code so that no e.Canceled statement is hit.

Best wishes,
Martin
the Telerik team
Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!
Tags
Grid
Asked by
Kien Lim
Top achievements
Rank 1
Answers by
Martin
Telerik team
Share this question
or