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

Rad Grid Edit Solution

4 Answers 128 Views
Grid
This is a migrated thread and some comments may be shown as answers.
nagendra
Top achievements
Rank 1
nagendra asked on 25 Mar 2011, 10:32 AM
Hi ,

How to set edit mode on click of image button in the Radgrid. On Click of "ImgDemote" button i need enable the EditItemTemplate in the "Pending Status " Column. Which as RadComboBox and Save And Cancel Button in it. How enable edit mode and hide the Label field when edit is true. Please give me solution


<telerik:RadGrid ID="rgAchCashTransfer" runat="server" AllowMultiRowSelection="false"
                                                AllowPaging="true" ShowHeader="true" AutoGenerateColumns="False" loadingtemplatetransparency="25"
                                                Width="750px" OnItemDataBound="rgAchCashTransfer_ItemDataBound" Visible="false"
                                                OnNeedDataSource="rgAchCashTransfer_NeedDataSource"  OnItemCommand="rgAchCashTransfer_ItemCommand" GridLines="None" AllowSorting="True"
                                                Height="235px" AlternatingItemStyle-BackColor="AliceBlue" Skin="Office2007">
                                                <AlternatingItemStyle BackColor="AliceBlue"></AlternatingItemStyle>
                                                <MasterTableView TableLayout="Fixed" EditMode="InPlace" EnableNoRecordsTemplate="true">
                                                    <PagerStyle Mode="NextPrevAndNumeric" Visible="true" />
                                                    <NoRecordsTemplate>
                                                        <div>
                                                            No records to display</div>
                                                    </NoRecordsTemplate>
                                                    <Columns>
                                                        <telerik:GridBoundColumn DataField="OfficeCode" HeaderButtonType="TextButton" Visible="true"
                                                            HeaderText="Off" SortExpression="OfficeCode" UniqueName="OfficeCode">
                                                            <HeaderStyle HorizontalAlign="left" Width="30px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                        </telerik:GridBoundColumn>
                                                        <telerik:GridTemplateColumn DataField="AccountNumber" HeaderButtonType="TextButton"
                                                            HeaderText="Account" UniqueName="AccountNumber" Visible="true">
                                                            <HeaderStyle HorizontalAlign="left" Width="50px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblAccount" Text='<%# DataBinder.Eval(Container.DataItem, "AccountNumber")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridTemplateColumn DataField="CashTransferID" HeaderButtonType="TextButton"
                                                            HeaderText="CashTransferID" UniqueName="CashTransferID" Visible="false">
                                                            <HeaderStyle HorizontalAlign="left" Width="0px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblCashTransferID" Text='<%# DataBinder.Eval(Container.DataItem, "CashTransferID")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridBoundColumn DataField="AccountName" HeaderButtonType="TextButton" Visible="true"
                                                            HeaderText="Name" SortExpression="AccountName" UniqueName="AccountName">
                                                            <HeaderStyle HorizontalAlign="left" Width="50px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                        </telerik:GridBoundColumn>
                                                        <telerik:GridBoundColumn DataField="CashTransferTypeDescription" HeaderButtonType="TextButton"
                                                            Visible="true" HeaderText="Type" SortExpression="CashTransferTypeDescription"
                                                            UniqueName="CashTransferTypeDescription">
                                                            <HeaderStyle HorizontalAlign="left" Width="70px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                        </telerik:GridBoundColumn>
                                                        <telerik:GridTemplateColumn DataField="Amount" HeaderButtonType="TextButton" HeaderText="Amount"
                                                            UniqueName="Amount" Visible="true">
                                                            <HeaderStyle HorizontalAlign="left" Width="60px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblAmount" Text='<%# DataBinder.Eval(Container.DataItem, "Amount")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridTemplateColumn DataField="TotalFee" HeaderButtonType="TextButton" HeaderText="Fee"
                                                            UniqueName="TotalFee" Visible="true">
                                                            <HeaderStyle HorizontalAlign="left" Width="50px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblTotalFee" Text='<%# DataBinder.Eval(Container.DataItem, "TotalFee")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridBoundColumn DataField="CurrencyCode" HeaderButtonType="TextButton" Visible="true"
                                                            HeaderText="Cur" SortExpression="CurrencyCode" UniqueName="CurrencyCode">
                                                            <HeaderStyle HorizontalAlign="left" Width="30px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                        </telerik:GridBoundColumn>
                                                        <telerik:GridTemplateColumn DataField="ValidationCode" HeaderButtonType="TextButton"
                                                            HeaderText="Exc" UniqueName="ValidationCode" Visible="true">
                                                            <HeaderStyle HorizontalAlign="left" Width="30px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblExec" Text='<%# DataBinder.Eval(Container.DataItem, "ValidationCode")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridTemplateColumn DataField="BeneficiaryIndicator" HeaderButtonType="TextButton"
                                                            HeaderText="Ben." UniqueName="BeneficiaryIndicator" Visible="true">
                                                            <HeaderStyle HorizontalAlign="left" Width="50px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblBen" Text='<%# DataBinder.Eval(Container.DataItem, "BeneficiaryIndicator")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridTemplateColumn DataField="AccountIRAAdvancedTax" HeaderButtonType="TextButton"
                                                            HeaderText="IRA" UniqueName="AccountIRAAdvancedTax" Visible="true">
                                                            <HeaderStyle HorizontalAlign="left" Width="30px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblIRA" Text='<%# DataBinder.Eval(Container.DataItem, "AccountIRAAdvancedTax")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridBoundColumn DataField="WorkFlowStateDescription" HeaderButtonType="TextButton"
                                                            HeaderText="Pending Status" SortExpression="WorkFlowStateDescription" UniqueName="WorkFlowStateDescription">
                                                            <HeaderStyle HorizontalAlign="Center" Width="150px" />
                                                            <ItemStyle HorizontalAlign="Right" />
                                                        </telerik:GridBoundColumn>
                                                        <telerik:GridTemplateColumn DataField="WorkFlowStateDescription" HeaderButtonType="TextButton" HeaderText="Pending Status"
                                                            UniqueName="WorkFlowStateDescription" SortExpression="WorkFlowStateDescription" Visible="false">
                                                            <HeaderStyle HorizontalAlign="left" Width="0px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblWorkFlowStateDescription" Text='<%# DataBinder.Eval(Container.DataItem, "WorkFlowStateDescription")%>'></asp:Label>
                                                            </ItemTemplate>
                                                              
                                                            <EditItemTemplate>
                                                            <telerik:RadComboBox ID="cmbDemoteComments"  runat="server" EnableEmbeddedSkins="true" Skin="Vista">
                                                                        </telerik:RadComboBox>
                                                            <asp:ImageButton ID="ImgSaveDemote" ToolTip="Click here to Save" CommandName="SaveDemoteComment" ImageUrl="~/Img/savelong.gif"
                                                                    runat="server" />
                                                                <asp:ImageButton ID="ImgCancelDemote" ToolTip="Click here to Cancel"  CommandName="CancelDemoteComment"  ImageUrl="~/Img/cancellong.gif"
                                                                    runat="server" />
                                                            </EditItemTemplate>
                                                              
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridTemplateColumn DataField="Editable" HeaderButtonType="TextButton" HeaderText=""
                                                            UniqueName="Editable" Visible="false">
                                                            <HeaderStyle HorizontalAlign="left" Width="0px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblEditable" Text='<%# DataBinder.Eval(Container.DataItem, "Editable")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridTemplateColumn DataField="Demote" HeaderButtonType="TextButton" HeaderText=""
                                                            UniqueName="Demote" Visible="false">
                                                            <HeaderStyle HorizontalAlign="left" Width="0px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblDemote" Text='<%# DataBinder.Eval(Container.DataItem, "Demote")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridTemplateColumn DataField="Promote" HeaderButtonType="TextButton" HeaderText=""
                                                            UniqueName="Promote" Visible="false">
                                                            <HeaderStyle HorizontalAlign="left" Width="0px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblPromote" Text='<%# DataBinder.Eval(Container.DataItem, "Promote")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                         <telerik:GridTemplateColumn DataField="OverrideIndicator" HeaderButtonType="TextButton" HeaderText=""
                                                            UniqueName="OverrideIndicator" Visible="false">
                                                            <HeaderStyle HorizontalAlign="left" Width="0px" />
                                                            <ItemStyle HorizontalAlign="left" />
                                                            <ItemTemplate>
                                                                <asp:Label runat="server" ID="lblOverrideIndicator" Text='<%# DataBinder.Eval(Container.DataItem, "OverrideIndicator")%>'></asp:Label>
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        <telerik:GridTemplateColumn DataField="Action" HeaderButtonType="TextButton" HeaderText="Action"
                                                            UniqueName="Action">
                                                            <HeaderStyle HorizontalAlign="Center" Width="90px" />
                                                            <ItemStyle HorizontalAlign="Center" />
                                                            <ItemTemplate>
                                                                <asp:ImageButton ID="ImgPromote" ToolTip="Click here to Promote" CommandName="Promote" ImageUrl="~/Img/CashDi7.gif"
                                                                    runat="server" />
                                                                <asp:ImageButton ID="ImgEdit" ToolTip="Click here to Edit"  ImageUrl="~/Img/CashDi2.gif"
                                                                    runat="server" />
                                                                <asp:ImageButton ID="ImgDemote" ToolTip="Click here to Demote" CommandName="Demote" ImageUrl="~/Img/CashDi8.gif"
                                                                    runat="server" />
                                                                    <asp:ImageButton ID="ImageOverride" ToolTip="Click here to Override"  CommandName="Override" ImageUrl="~/Img/Override.gif"
                                                                    runat="server" />
                                                            </ItemTemplate>
                                                        </telerik:GridTemplateColumn>
                                                    </Columns>
                                                </MasterTableView>
                                                <ClientSettings AllowExpandCollapse="true">
                                                    <Scrolling AllowScroll="True" ScrollHeight="50px" UseStaticHeaders="true" />
                                                    <Selecting AllowRowSelect="false" />
                                                </ClientSettings>
                                                <FilterMenu NotSelectedImageUrl="~/Skins/GridSkin/Ice/NotSelectedMenu.gif" SelectedImageUrl="~/Skins/GridSkin/Ice/SelectedMenu.gif">
                                                    <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
                                                </FilterMenu>
                                            </telerik:RadGrid>


protected void rgAchCashTransfer_ItemCommand(object source, GridCommandEventArgs e)
        {
            if (e.CommandName.ToUpper(CultureInfo.InvariantCulture) == "Demote".ToUpper(CultureInfo.InvariantCulture))
            {
                GridColumn editedItem = (GridColumn)rgAchCashTransfer.MasterTableView.GetColumn("WorkFlowStateDescription");
                e.Item.Edit = true;
                  
                 
            }
        }
        protected void rgAchCashTransfer_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                GridDataItem dataItem = (GridDataItem)e.Item;
                ImageButton ImgEdit = dataItem.FindControl("ImgEdit") as ImageButton;
                ImageButton ImgPromote = dataItem.FindControl("ImgPromote") as ImageButton;
                ImageButton ImgDemote = dataItem.FindControl("ImgDemote") as ImageButton;
                ImageButton ImageOverride = dataItem.FindControl("ImageOverride") as ImageButton;
  
                Label lblEditable = dataItem.FindControl("lblEditable") as Label;
                Label lblDemote = dataItem.FindControl("lblDemote") as Label;
                Label lblPromote = dataItem.FindControl("lblPromote") as Label;
                Label lblAmount = dataItem.FindControl("lblAmount") as Label;
                Label lblTotalFee = dataItem.FindControl("lblTotalFee") as Label;
                Label lblCashTransferID = dataItem.FindControl("lblCashTransferID") as Label;
                Label lblAccount = dataItem.FindControl("lblAccount") as Label;
                Label lblExec = dataItem.FindControl("lblExec") as Label;
                Label lblBen = dataItem.FindControl("lblBen") as Label;
                Label lblIRA = dataItem.FindControl("lblIRA") as Label;
                Label lblOverrideIndicator = dataItem.FindControl("lblOverrideIndicator") as Label;
                decimal AmountValue = Convert.ToDecimal(lblAmount.Text);
                lblAmount.Text = FormatCurrency(AmountValue);
  
                decimal TotalFeeValue = Convert.ToDecimal(lblTotalFee.Text);
                lblTotalFee.Text = FormatCurrency(TotalFeeValue);
  
                if (lblIRA.Text.ToString().Equals(Constants.VALUE_1))
                    lblIRA.Text = Constants.YES;
                else
                    lblIRA.Text = Constants.NO;
  
                if (lblExec.Text.ToString().Equals(Constants.VALUE_1))
                    lblExec.Text = Constants.VIEW;
                else
                    lblExec.Text = "";
  
                ChangeForeColor(lblBen);
  
                if (lblPromote.Text.ToString().Equals(Constants.VALUE_1))
                    ImgPromote.Visible = true;
                else
                    ImgPromote.Visible = false;
                if (lblDemote.Text.ToString().Equals(Constants.VALUE_1))
                    ImgDemote.Visible = true;
                else
                    ImgDemote.Visible = false;
                if (lblEditable.Text.ToString().Equals(Constants.VALUE_1))
                    ImgEdit.Visible = true;
                else
                    ImgEdit.Visible = false;
                if (lblOverrideIndicator.Text.ToString().Equals(Constants.VALUE_1))
                    ImageOverride.Visible = true;
                else
                    ImageOverride.Visible = false;
  
  
  
            }
            else
            {
  
                if ((e.Item is GridEditableItem && ((GridEditableItem)e.Item).IsInEditMode))
                {
                   // e.Item.Edit = true;
  
                    GridEditableItem editedItem = (GridEditableItem)e.Item;
                    RadComboBox editor = (RadComboBox)editedItem.FindControl("cmbDemoteComments");
                      
                }
            }
        }

4 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 25 Mar 2011, 11:10 AM
Hello Nagendra,

Set CommandName for ImageButton as 'Edit' which in turn shows the grid in edit form with default update and cancel button.

ASPX:
<ItemTemplate>
      <asp:ImageButton ID="ImgDemote" CommandName="Edit" ToolTip="Click here to Demote"  ImageUrl="~/Img/CashDi8.gif"  runat="server" />
 </ItemTemplate>

-Shinu.
0
nagendra
Top achievements
Rank 1
answered on 25 Mar 2011, 05:36 PM
I want Save and Cancel button ... I have placed this two button in edittemplate..
0
nagendra
Top achievements
Rank 1
answered on 26 Mar 2011, 05:31 PM
Any solution ??
0
Princy
Top achievements
Rank 2
answered on 28 Mar 2011, 10:27 AM
Hello,


You could set the CommandName of update and cancel buttons as "Update" and "Cancel" respectively to fire corresponding events automatically.

Code:
<telerik:GridTemplateColumn DataField="Action" HeaderButtonType="TextButton" HeaderText="Action"
    UniqueName="Action">
       .  .  .
    <ItemTemplate>
        <asp:ImageButton ID="ImgDemote" ToolTip="Click here to Demote" CommandName="Edit"
            ImageUrl="~/Img/CashDi8.gif" runat="server" />
             . . .
    </ItemTemplate>
    <EditItemTemplate>
        <asp:ImageButton ID="ImgUpdate" ToolTip="Click here to Save" CommandName="Update"
            ImageUrl="~/Img/Update1.gif" runat="server" />
        <asp:ImageButton ID="imageCalcel" ToolTip="Click here to Cancel" CommandName="Cancel"
            ImageUrl="~/Img/Cancel1.gif" runat="server" />
    </EditItemTemplate>
</telerik:GridTemplateColumn>
 


Thanks,
Princy.
Tags
Grid
Asked by
nagendra
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
nagendra
Top achievements
Rank 1
Princy
Top achievements
Rank 2
Share this question
or