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

After updating still in update mode

2 Answers 119 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Babu Puchakayala
Top achievements
Rank 1
Babu Puchakayala asked on 07 Jul 2010, 04:44 AM
Hi,

I am using inline editing in radgrid. Once the rows or columns are updated i am still getting that rows or columns in edit mode. How to resolve this issue.

Another issue is Pageindexchaned event. when i click on the next page button i am not getting anything(when viewstate is false).  But when viewstate is set to true. Its working fine. Is there anyway to solve this issue.  When I am trying to use onneeddatasource event I am unable update the columns or rows. so i cant use onneeddatasource.



Please help me. Here is my code.

protected void Page_Load(object sender, EventArgs e) 
    { 
        try 
        { 
            if (!IsPostBack) 
            { 
                Session["SearchRes"] = null; 
                if (Session["TaskName"] != null) 
                    lblTskName.Text = Session["TaskName"].ToString(); 
                Session["FilColms"] = null; 
                Session["SortExp"] = null; 
                Session["FilExp"] = null; 
                Session["ViewAll"] = null; 
                BindGrid(); 
            } 
        } 
        catch (Exception ex) 
        { 
            throw ex; 
        } 
    } 
 
    private void BindGrid() 
    { 
        try 
        { 
            DataSet dsResult = new DataSet(); 
 
            clsSearch_BL clsObj = new clsSearch_BL(); 
            clsObj.TaskID = (string)Session["TaskID"]; 
            clsObj.CustName = (string)Session["CustName"]; 
            clsObj.MarketName = (string)Session["MarketName"]; 
            clsObj.HeadendName = (string)Session["HeadendName"]; 
            clsObj.SiteName = (string)Session["SiteName"]; 
            clsObj.TaskStatus = (string)Session["TaskStatus"]; 
            clsObj.OrdType = (string)Session["OrdType"]; 
            clsObj.OrdStatus = (string)Session["OrdStatus"]; 
            clsObj.ProName = (string)Session["ProName"]; 
            clsObj.LOC = (string)Session["LOC"]; 
            clsObj.QuoteID = (string)Session["QuoteID"]; 
            clsObj.CMNumber = (string)Session["CMNumber"]; 
 
            if (Session["SearchRes"] == null) 
            { 
                dsResult = clsObj.getSearchResults_BL(clsObj); 
                Session["SearchRes"] = dsResult; 
            } 
            else 
                dsResult = (DataSet)Session["SearchRes"]; 
 
            DataView dataView = dsResult.Tables[0].DefaultView; 
            rg200.DataSource = dsResult
            rg200.DataBind(); 
        } 
        catch (Exception ex) 
        { 
            throw ex; 
        } 
    } 
 
    protected void rg200_PreRender(object sender, EventArgs e) 
    { 
        rg200.MasterTableView.GetColumnSafe("RowIndicator").Display = false
 
        if (rg200.EditIndexes.Count > 0 || rg200.MasterTableView.IsItemInserted) 
        { 
            GridColumn col1 = rg200.MasterTableView.GetColumn("EditCommandColumn") as GridColumn; 
            col1.Visible = true
        } 
        else 
        { 
            GridColumn col2 = rg200.MasterTableView.GetColumn("EditCommandColumn") as GridColumn; 
            col2.Visible = false
        }  
 
    } 
 
    protected void RadMenu1_ItemClick(object sender, RadMenuEventArgs e) 
    { 
        int radGridClickedRowIndex; 
 
        radGridClickedRowIndex = Convert.ToInt32(Request.Form["radGridClickedRowIndex"]); 
 
        switch (e.Item.Text) 
        { 
            case "Edit Task": 
                rg200.Items[radGridClickedRowIndex].Edit = true
                BindGrid(); 
               // rg200.Rebind(); 
                break; 
            case "Complete Task": 
                //rg200.MasterTableView.PerformDelete(rg200.Items[radGridClickedRowIndex]); 
                break; 
        } 
    } 
 
    protected void rg200_ItemCreated(object sender, GridItemEventArgs e) 
    { 
        if (e.Item is GridPagerItem) 
        { 
            RadComboBox combo = (e.Item as GridPagerItem).FindControl("PageSizeComboBox") as RadComboBox; 
 
            // The number of items shown when all is selected  
            int allRowsCount = int.MaxValue; 
 
            // Remove duplicates  
            RadComboBoxItem duplicate = combo.Items.FindItemByValue(allRowsCount.ToString()); 
            if (duplicate != null) 
            { 
                duplicate.Remove(); 
            } 
 
            // Create a new item for showing all  
            RadComboBoxItem item = new RadComboBoxItem("All", allRowsCount.ToString()); 
            item.Attributes.Add("ownerTableViewId", e.Item.OwnerTableView.ClientID); 
            combo.Items.Add(item); 
 
            // Set the current pagesize as the selected value  
            combo.Items.FindItemByValue(rg200.PageSize.ToString()).Selected = true
        } 
    } 
 
    protected void rg200_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) 
    { 
 
        if (Session["TaskID"] != null) 
        { 
            string strTaskID = (string)Session["TaskID"]; 
            if (strTaskID != string.Empty) 
            { 
                clsTaskUpdates_BL objBL = new clsTaskUpdates_BL(); 
 
                GridEditableItem eeditedItem = e.Item as GridEditableItem; 
                //Get the primary key value using the DataKeyValue.       
                string OrdID = editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["orderId"].ToString(); 
                //Access the textbox from the edit form template and store the values in string variables. 
 
                string ClarifyAccountNbr = ((GridTextBoxColumnEditor)editedItem.EditManager.GetColumnEditor("Clarify Account Nbr")).TextBoxControl.Text; 
 
                string SiteID = ((GridTextBoxColumnEditor)editedItem.EditManager.GetColumnEditor("Site ID")).TextBoxControl.Text; 
 
                string QuoteID = ((GridTextBoxColumnEditor)editedItem.EditManager.GetColumnEditor("Quote ID")).TextBoxControl.Text; 
 
                CheckBox chkEDP = ((GridCheckBoxColumnEditor)editedItem.EditManager.GetColumnEditor("EDP Created?")).CheckBoxControl; 
 
                //string ClarifyAccountNbr = (editedItem["Clarify Account Nbr"].Controls[0] as TextBox).Text; 
                //string SiteID = (editedItem["Site ID"].Controls[0] as TextBox).Text; 
                //string QuoteID = (editedItem["Quote ID"].Controls[0] as TextBox).Text; 
                //CheckBox chkEDP = (editedItem["EDP Created?"].Controls[0] as CheckBox); 
                try 
                { 
                    objBL.setTask200_Bl(OrdID, ClarifyAccountNbr, SiteID, QuoteID, chkEDP.Checked); 
                    Session["SearchRes"] = null; 
                    
                    BindGrid(); 
 
                } 
                catch (Exception ex) 
                { 
                    rg200.Controls.Add(new LiteralControl("Unable to update Employee. Reason: " + ex.Message)); 
                    e.Canceled = true
                } 
            } 
        } 
    } 
 
    protected void rg200_PageIndexChanged(object source, GridPageChangedEventArgs e) 
    { 
        try 
        { 
            rg200.CurrentPageIndex = e.NewPageIndex; 
            BindGrid(); 
        } 
        catch (Exception ex) 
        { 
            throw ex; 
        } 
    } 


                    <telerik:RadScriptManager ID="RadScriptManager1" runat="server"
                    </telerik:RadScriptManager> 
                    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
                        <ClientEvents OnRequestStart="onRequestStart" /> 
                        <AjaxSettings> 
                            <telerik:AjaxSetting AjaxControlID="rg200"
                                <UpdatedControls> 
                                    <telerik:AjaxUpdatedControl ControlID="rg200" LoadingPanelID="RadAjaxLoadingPanel1" /> 
                                    <telerik:AjaxUpdatedControl ControlID="RadMenu1" /> 
                                </UpdatedControls> 
                            </telerik:AjaxSetting> 
                            <telerik:AjaxSetting AjaxControlID="RadMenu1"
                                <UpdatedControls> 
                                    <telerik:AjaxUpdatedControl ControlID="rg200" LoadingPanelID="RadAjaxLoadingPanel1" /> 
                                    <telerik:AjaxUpdatedControl ControlID="RadMenu1" /> 
                                </UpdatedControls> 
                            </telerik:AjaxSetting> 
                        </AjaxSettings> 
                    </telerik:RadAjaxManager> 
                    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"
                    </telerik:RadAjaxLoadingPanel> 
                    <input type="hidden" id="radGridClickedRowIndex" name="radGridClickedRowIndex" /> 
                    <telerik:RadGrid ID="rg200" runat="server" AutoGenerateColumns="False" PageSize="30" 
                        Height="550px" Width="100%" AllowPaging="True" AllowSorting="True" AllowMultiRowSelection="True" 
                        EnableHeaderContextMenu="True" GridLines="None" EnableHeaderContextFilterMenu="True" 
                        AllowMultiRowEdit="true" AllowFilteringByColumn="True" OnPreRender="rg200_PreRender" 
                        OnItemCreated="rg200_ItemCreated" EnableViewState="True" OnUpdateCommand="rg200_UpdateCommand" 
                        AllowAutomaticDeletes="true" AllowAutomaticInserts="true" AllowAutomaticUpdates="true" 
                        OnPageIndexChanged="rg200_PageIndexChanged" OnCancelCommand="rg200_CancelCommand"
                        <HeaderStyle Height="20px" BackColor="#004000" Font-Size="8pt" Font-Bold="True" ForeColor="White" 
                            HorizontalAlign="Center" BorderColor="White" BorderWidth="1px" /> 
                        <ExportSettings IgnorePaging="true" ExportOnlyData="true"
                            <Pdf AllowModify="false" AllowPrinting="true" PageBottomMargin="" PageFooterMargin="" 
                                PageHeaderMargin="" PageHeight="11in" PageLeftMargin="" PageRightMargin="" PageTopMargin="" 
                                PageWidth="14in" /> 
                        </ExportSettings> 
                        <MasterTableView GridLines="None" DataKeyNames="orderId" CommandItemDisplay="Top" 
                            EditMode="InPlace"
                            <CommandItemSettings AddNewRecordText="Add New" ShowExportToWordButton="true" ShowExportToExcelButton="true" 
                                ShowExportToCsvButton="true" ShowExportToPdfButton="true" /> 
                            <Columns> 
                                <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" HeaderStyle-Width="3%" 
                                    ItemStyle-Width="3%"
                                    <HeaderStyle Width="3%"></HeaderStyle> 
                                    <ItemStyle Width="3%"></ItemStyle> 
                                </telerik:GridClientSelectColumn> 
                                <telerik:GridBoundColumn UniqueName="sId" HeaderText="sId" DataField="sId" ReadOnly="true" 
                                    Visible="false"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="orderId" HeaderText="orderId" Visible="false" 
                                    DataField="orderId"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Customer Name" HeaderText="Customer Name" DataField="Customer Name" 
                                    ReadOnly="true"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Market Name" HeaderText="Market Name" DataField="Market Name" 
                                    ReadOnly="true"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="LOB" HeaderText="LOB" DataField="LOB" ReadOnly="true"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Headend Name" HeaderText="Headend Name" DataField="Headend Name" 
                                    ReadOnly="true"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Project Name" HeaderText="Project Name" DataField="Project Name" 
                                    ReadOnly="true"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Site Name" HeaderText="Site Name" DataField="Site Name" 
                                    ReadOnly="true"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Task Status" HeaderText="Task Status" DataField="Task Status" 
                                    ReadOnly="true"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Clarify Account Nbr" HeaderText="Clarify Account Nbr" 
                                    DataField="Clarify Account Nbr"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Site ID" HeaderText="Site ID" DataField="Site ID"
                                </telerik:GridBoundColumn> 
                                <telerik:GridBoundColumn UniqueName="Quote ID" HeaderText="Quote ID" DataField="Quote ID"
                                </telerik:GridBoundColumn> 
                                <telerik:GridCheckBoxColumn UniqueName="EDP Created?" HeaderText="EDP Created?" DataField="EDP Created?"
                                </telerik:GridCheckBoxColumn> 
                                <telerik:GridEditCommandColumn UniqueName="EditCommandColumn" Visible="false"
                                </telerik:GridEditCommandColumn> 
                            </Columns> 
                        </MasterTableView> 
                        <ClientSettings EnableRowHoverStyle="true" ReorderColumnsOnClient="false" AllowDragToGroup="false" 
                            AllowColumnsReorder="True"
                            <Scrolling AllowScroll="true" EnableVirtualScrollPaging="false" UseStaticHeaders="true" /> 
                            <Selecting AllowRowSelect="True"></Selecting> 
                            <Resizing AllowRowResize="true" AllowColumnResize="True" EnableRealTimeResize="True" 
                                ResizeGridOnColumnResize="False"></Resizing> 
                            <ClientEvents OnRowContextMenu="RowContextMenu" OnRowDblClick="RowDblClick"></ClientEvents> 
                        </ClientSettings> 
                        <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true"></PagerStyle> 
                    </telerik:RadGrid> 

2 Answers, 1 is accepted

Sort by
0
Accepted
Shinu
Top achievements
Rank 2
answered on 07 Jul 2010, 08:00 AM
Hello,

You need to set AllowAutomaticInserts and AllowAutomaticUpdates properties as false since you are using manual update/insert. This should help close the editform pop up once the grid is updated.

I guess the AdvancedDataBinding is good option than using Simple DataBinding.

Also go through the following links:
Optimizing ViewState usage
Rebind grid on command/postback event with EnableViewState = false


-Shinu.
0
Babu Puchakayala
Top achievements
Rank 1
answered on 07 Jul 2010, 08:11 PM
Hi Shinu,

Thanks for your help. thats working great.
Tags
Grid
Asked by
Babu Puchakayala
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Babu Puchakayala
Top achievements
Rank 1
Share this question
or