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

[Solved] Show/Hide EditFormSettings from RadGrid1_SelectedIndexChanged

5 Answers 346 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Rawl
Top achievements
Rank 1
Rawl asked on 03 May 2013, 05:51 PM
Hi all,

I have a Radgrid where I use a GridButtonColumn to show the Edit Form Template but with the controls diabled. How could I acomplish this on the RadGrid1_SelectedIndexChanged event please?

5 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 06 May 2013, 04:54 AM
Hi,

Try the following.
c#
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
        foreach (GridEditFormItem item in RadGrid1.EditItems)
        {
            item.Enabled = false;
        }
}

Thanks,
Shinu
0
Rawl
Top achievements
Rank 1
answered on 06 May 2013, 01:29 PM
Hi!

Well it didn't work, This is my aspx and my cs to make myself clear.

AgendaDistribucion.aspx
<telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" CellSpacing="0" Skin="Web20" Culture="es-ES" Width="99.7%" AllowSorting="True" AllowPaging="True" AutoGenerateColumns="False" AllowFilteringByColumn="True" AllowAutomaticDeletes="True" AllowAutomaticInserts="False" AllowAutomaticUpdates="False" ShowGroupPanel="False" DataSourceID="ObjectDataSource1" OnItemCommand="RadGrid1_ItemCommand" OnItemCreated="RadGrid1_ItemCreated" OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged">
   <MasterTableView GridLines="None" Width="100%" CommandItemDisplay="Top"
      DataSourceID="ObjectDataSource1" DataKeyNames="agdi_agenda">
      <PagerStyle Mode="NextPrev" />
      <CommandItemTemplate>
         <div class="toolbarGrid">
            <asp:LinkButton ID="LinkButton3" runat="server" CommandName="InitInsert">
               <img style="border:0px" alt="" src="../App_Themes/Tema2/Images/AddRecord.gif" /></asp:LinkButton>
            <asp:LinkButton ID="btnEditSelected" runat="server" Style="vertical-align: bottom" CommandName="EditSelected">
               <img style="border:0px" alt="" src="../App_Themes/Tema2/Images/Edit.gif" /></asp:LinkButton>                          
         </div>
       </CommandItemTemplate>
       <CommandItemStyle CssClass="rgCommandRow" BackColor="White" Height="40px" VerticalAlign="Bottom" />
                    <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                    </RowIndicatorColumn>
                    <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                    </ExpandCollapseColumn>
                    <Columns>
                        <telerik:GridBoundColumn DataField="agdi_agenda"
                            FilterControlAltText="Filter agdi_agenda column"
                            HeaderText="Agenda" SortExpression="agdi_agenda" UniqueName="agdi_agenda">
                        </telerik:GridBoundColumn>                       
                        <telerik:GridBoundColumn DataField="agdi_fecha" DataFormatString="{0:dd/MM/yy}"
                            FilterControlAltText="Filter agdi_fecha column"
                            HeaderText="Fecha" SortExpression="agdi_fecha" UniqueName="agdi_fecha">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="estado"
                            FilterControlAltText="Filter estado column"
                            HeaderText="Estado" SortExpression="estado" UniqueName="estado">
                        </telerik:GridBoundColumn>
 
                        <telerik:GridButtonColumn HeaderText="Ver" Text="+" CommandName="Select" ItemStyle-HorizontalAlign="Center">
                        </telerik:GridButtonColumn>
 
                    </Columns>
                    <EditFormSettings EditFormType="Template">
                        <EditColumn FilterControlAltText="Filter EditCommandColumn1 column" UniqueName="EditCommandColumn1">
                        </EditColumn>
                        <FormTemplate>
                            <table>
                                <tr>
                                    <td>
                                        Periodo:
                                    </td>                                       
                                    <td>
                                        <telerik:RadNumericTextBox ID="rntbPeriodo" runat="server"
                                            AutoPostBack="true" OnTextChanged="rntbPeriodo_TextChanged"
                                            MaxLength="16" Type="Number" MinValue="0" Text='<%# Bind("agdi_periodo") %>' >
                                            <NumberFormat DecimalDigits="0" GroupSeparator="" />
                                        </telerik:RadNumericTextBox>
                                        <asp:RequiredFieldValidator ID="rfvPeriodo" runat="server" ControlToValidate="rntbPeriodo"
                                            Display="Dynamic" ErrorMessage="*" SetFocusOnError="True">
                                            <asp:Image ID="Image1" runat="server" ImageUrl="~/App_Themes/Tema2/Images/Cancel.gif" />
                                        </asp:RequiredFieldValidator>
                                    </td>
                                    <td>
                                        Ciclo
                                    </td>
                                    <td>
                                        <telerik:RadComboBox ID="rcbCiclo" runat="server"
                                            SelectedValue='<%# Bind("agdi_ciclo") %>'
                                            DataSourceID="ObjectDataSource4" DataTextField="Cicl_Nombre" DataValueField="Cicl_Codigo">
                                        </telerik:RadComboBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Aceptar" : "Aceptar" %>'
                                            runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'>
                                        </asp:Button>
                                        <asp:Button ID="btnCancel" Text="Cancelar" runat="server" CausesValidation="False"
                                            CommandName="Cancel"></asp:Button>
                                    </td>
                                </tr>
                            </table>
                        </FormTemplate>
                    </EditFormSettings>
                </MasterTableView>
                <ClientSettings EnableRowHoverStyle="true" AllowColumnsReorder="true" ReorderColumnsOnClient="true">
                    <ClientEvents OnRowDblClick="RowDblClick" />
                    <Selecting AllowRowSelect="True" />
                    <Scrolling AllowScroll="True" ScrollHeight="500px" />
                </ClientSettings>
                <FilterMenu EnableImageSprites="False">
                </FilterMenu>
                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Web20">
                </HeaderContextMenu>
            </telerik:RadGrid>

AgendaDistribucion.aspx.cs
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{          
     if (e.CommandName == "Select")
     {
          ViewState["VerMas"] = true;
     }
}
 
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
     if (ViewState["VerMas"] != null && (Boolean)ViewState["VerMas"])
     {
          ViewState["Hide"] = true;
          Session["idSeleccion"] = RadGrid1.SelectedItems[0].OwnerTableView.DataKeyValues[RadGrid1.SelectedItems[0].ItemIndex]["agdi_agenda"];
 
          //What to do here to show the <EditFormSettings EditFormType="Template"> ???
     }
}


0
Rawl
Top achievements
Rank 1
answered on 06 May 2013, 08:07 PM
I have made it to show/hide the template form, but now I need to find all the controls inside of it, to "enable=false" them, still don't know how to accomplish this. Any help here, please.
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ViewState["VerMas"] != null && (Boolean)ViewState["VerMas"])
            {
                foreach (GridItem item in RadGrid1.MasterTableView.Items)
                {
                    if (item is GridEditableItem)
                    {
                        GridEditableItem editableItem = item as GridDataItem;
                         
                        if (item.Selected)
                        {
                            editableItem.Edit = true;
                        }
                        else
                        {
                            editableItem.Edit = false;
                        }
                    }
                }
                RadGrid1.Rebind();
            }
        }
Thanks
0
Shinu
Top achievements
Rank 2
answered on 07 May 2013, 05:13 AM
Hi,

Try the following code.
c#
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
   RadGrid1.MasterTableView.EditFormSettings.EditFormType = GridEditFormType.Template;
}

Thanks,
Shinu
0
Rawl
Top achievements
Rank 1
answered on 07 May 2013, 02:17 PM
Hi!

I finally solved it, thanks for the tips and replies. Heres the final code I needed.
protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{    
  ViewState["Hide"] = false;
 
  commandItem.FindControl("LinkButton3").Visible = false;
  commandItem.FindControl("btnEditSelected").Visible = false;
  commandItem.FindControl("LinkButton5").Visible = false;
  commandItem.FindControl("LinkButton6").Visible = false;
 
  if (ViewState["VerMas"] != null)
  {
    if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
    {
      RadNumericTextBox rntbPeriodo = e.Item.FindControl("rntbPeriodo") as RadNumericTextBox;
      RadComboBox rcbCiclo = e.Item.FindControl("rcbCiclo") as RadComboBox;
      RadDatePicker rdpFecha = e.Item.FindControl("rdpFecha") as RadDatePicker;
      RadComboBox cmbUsuario = e.Item.FindControl("cmbUsuario") as RadComboBox;
      RadComboBox rcbDispositivo = e.Item.FindControl("rcbDispositivo") as RadComboBox;
      RadTextBox rtbMeta = e.Item.FindControl("rtbMeta") as RadTextBox;
      RadNumericTextBox rntbCtaInil = e.Item.FindControl("rntbCtaIni") as RadNumericTextBox;
      RadNumericTextBox rntbCtaFin = e.Item.FindControl("rntbCtaFin") as RadNumericTextBox;
      Button btnUpdate = e.Item.FindControl("btnUpdate") as Button;
      Button btnCancel = e.Item.FindControl("btnCancel") as Button;
 
      rntbPeriodo.Enabled = false;
      rcbCiclo.Enabled = false;
      rdpFecha.Enabled = false;
      cmbUsuario.Enabled = false;
      rcbDispositivo.Enabled = false;
      rtbMeta.Enabled = false;
      rntbCtaIni.Enabled = false;
      rntbCtaFin.Enabled = false;
      btnUpdate.Visible = false;
      btnCancel.Visible = false;
    }
  }
}

This post can be mark as solved or locked. Thanks!
Tags
Grid
Asked by
Rawl
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Rawl
Top achievements
Rank 1
Share this question
or