none
Checkbox no cambia de estado RRS feed

  • Pregunta

  • Tengo el siguiente código:

    <%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
    <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register TagPrefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
    <%@ Import Namespace="Microsoft.SharePoint" %>
    <%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="dashPanel.ascx.cs" Inherits="dash1.dashPanel.dashPanel" %>
    
    <style type="text/css">
        .auto-style1
        {
            width: 100%;
        }
    
        .tablaBotones
        {
            width: 110px;
            text-align: center;
        }
    
        .celdaControl
        {
            padding: 6px;
        }
    
        .celdaEncabezado
        {
            width: 160px;
            text-align: left;
            padding: 6px;
        }
    
        .celdaCombinada
        {
            width: 630px;
            text-align: left;
            padding: 6px;
        }
    
        .celdaSub
        {
            text-align: right;
            padding: 6px;
        }
    </style>
    
    
    <p>
    
        <asp:GridView ID="gvProy" runat="server" AutoGenerateColumns="False" EnableModelValidation="True" Visible="true">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:CheckBox ID="chkRow" runat="server"/>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField HeaderText="Proyecto" DataField="proy" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Fecha de inicio" DataField="f_ini" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Fecha finalización" DataField="f_fin" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Líder del proyecto" DataField="liderP" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Cargo (Líder)" DataField="cargoL" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Dirección (Líder)" DataField="dirL" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Patrocinador" DataField="patr" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Cargo (Patr)" DataField="cargoP" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Dirección (Patr)" DataField="dirP" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Pilar estratégico" DataField="pilar" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Objetivo estratégico" DataField="objE" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Winnability" DataField="win" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Valor estratégico" DataField="valorE" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Tamaño" DataField="tamanio" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Peso total" DataField="pesoT" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Objetivo" DataField="objetivo" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Alcance" DataField="alcance" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Nombre (SC)" DataField="nomSC" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Cargo (SC)" DataField="cargoSC" ItemStyle-HorizontalAlign="Center" />
                <asp:BoundField HeaderText="Dirección (SC)" DataField="dirSC" ItemStyle-HorizontalAlign="Center" />
            </Columns>
        </asp:GridView>
    </p>
    <p>
        &nbsp;
    </p>
    
    
    <table class="auto-style1">
        <tr>
            <td class="tablaBotones">
                <asp:Button ID="btnNuevo" runat="server" Text="Nuevo proyecto" OnClick="btnNuevo_Click" />
            </td>
            <td class="tablaBotones">
                <asp:Button ID="btnEditar" runat="server" Text="Editar parámetros" />
            </td>
            <td class="tablaBotones">
                <asp:Button ID="btnVer" runat="server" Text="Ver dashboard" OnClick="GetSelectedRecords" />
            </td>
        </tr>
    </table>
    <asp:Panel ID="panelForm" runat="server" Visible="False">
        <table class="auto-style1">
            <tr>
                <td class="celdaEncabezado"><strong>Nombre del proyecto</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtNomProy" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Fecha de inicio</strong></td>
                <td class="celdaControl">
                    <SharePoint:DateTimeControl ID="fecha_inicial" runat="server" DateOnly="true" Enabled="false" LocaleId="2057" />
                    <asp:TextBox ID="txtInicio" runat="server" Visible="false" />
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Fecha de finalización</strong></td>
                <td class="celdaControl">
                    <SharePoint:DateTimeControl ID="fecha_final" runat="server" DateOnly="true" Enabled="false" LocaleId="2057" />
                    <asp:TextBox ID="txtFin" runat="server" Visible="false" />
                </td>
            </tr>
            <tr class="celdaControl">
                <td class="celdaCombinada" colspan="2"><strong>Líder</strong></td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Nombre</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtNomLid" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Cargo</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtCargoLid" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Dirección</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtDirLid" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaCombinada" colspan="2"><strong>Patrocinador</strong></td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Nombre</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtNomPat" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Cargo</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtCargoPat" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Dirección</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtDirPat" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Pilar Estratégico</strong></td>
                <td class="celdaControl">
                    <asp:DropDownList ID="ddlPilar" runat="server" OnSelectedIndexChanged="ddlPilar_SelectedIndexChanged" AutoPostBack="true">
                    </asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Objetivo Estratégico</strong></td>
                <td class="celdaControl">
                    <asp:DropDownList ID="ddlObjetivo" runat="server" Enabled="False" Visible="False">
                    </asp:DropDownList>
                    <asp:DropDownList ID="ddlObjLiderando" runat="server" Visible="False">
                        <asp:ListItem Text="--Seleccione un objetivo--" />
                        <asp:ListItem Text="Ser líderes en cada segmento [de motocicletas y motocarros]" Value="1" />
                        <asp:ListItem Text="Construir y consolidar marcas atractivas, referentes y diferenciadas" Value="2" />
                        <asp:ListItem Text="Liderar el desarrollo de nuevas categorías de movilidad" Value="3" />
                        <asp:ListItem Text="Incursionar y desarrollar mercados internacionales (exportación y expansión)" Value="4" />
                        <asp:ListItem Text="Construir capacidad integral de desarrollo de nuevos productos" Value="5" />
                        <asp:ListItem Text="Fortalecer el liderazgo de la unidad de Repuestos en el mercado Colombiano" Value="6" />
                    </asp:DropDownList>
                    <asp:DropDownList ID="ddlObjSuperando" runat="server" Visible="False">
                        <asp:ListItem Text="--Seleccione un objetivo--" />
                        <asp:ListItem Text="Ofrecer la mejor disponibilidad integral (3S)" Value="1" />
                        <asp:ListItem Text="Brindar la mejor experiencia integral de compra, entrega y servicio posventa" Value="2" />
                        <asp:ListItem Text="Asegurar la calidad integral de nuestros productos y servicio posventa" Value="3" />
                        <asp:ListItem Text="Facilitar la adquisición y/o uso de nuestros productos y servicios" Value="4" />
                        <asp:ListItem Text="Brindar ofertas integrales alrededor de los productos y servicios" Value="5" />
                        <asp:ListItem Text="Construir y desarrollar una estrategia de canales" Value="6" />
                        <asp:ListItem Text="Construir una red ejemplarizante y rentable" Value="7" />
                    </asp:DropDownList>
                    <asp:DropDownList ID="ddlObjTriunfando" runat="server" Visible="False">
                        <asp:ListItem Text="--Seleccione un objetivo--" />
                        <asp:ListItem Text="Asegurar la estructura organizacional alineada a la estrategia" Value="1" />
                        <asp:ListItem Text="Consolidar el modelo de compensación y bienestar inspirador y competitivo" Value="2" />
                        <asp:ListItem Text="Mantener un equipo de clase mundial" Value="3" />
                        <asp:ListItem Text="Desarrollar e implementar un sistema de salud y seguridad en el trabajo" Value="4" />
                        <asp:ListItem Text="Desarrollar y promover el modelo de gestión de talento de nuestros socios comerciales" Value="5" />
                        <asp:ListItem Text="Ser una empresa referente, por su modelo de aprendizaje organizacional" Value="6" />
                    </asp:DropDownList>
                    <asp:DropDownList ID="ddlObjForma" runat="server" Visible="False">
                        <asp:ListItem Text="--Seleccione un objetivo--" />
                        <asp:ListItem Text="Planear e implementar el crecimiento del negocio" Value="1" />
                        <asp:ListItem Text="Asegurar la efectividad operacional en toda la cadena de valor" Value="2" />
                        <asp:ListItem Text="Consolidar un proceso robusto y dinámico de presupuestación y control" Value="3" />
                        <asp:ListItem Text="Maximizar la rentabilidad de la organización" Value="4" />
                        <asp:ListItem Text="Identificar y ejecutar con celeridad los macro-proyectos de mejora de eficiencia" Value="5" />
                        <asp:ListItem Text="Ser la mejor opción de negocio para nuestros canales (3S)" Value="6" />
                    </asp:DropDownList>
                    <br />
                    <asp:Label ID="lblTransversal" runat="server" Visible="False" Font-Bold="True" Font-Italic="True" Font-Size="Small"></asp:Label>
                </td>
                <asp:DropDownList ID="DropDownList1" runat="server" Visible="False">
                </asp:DropDownList>
    
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Winnability</strong></td>
                <td class="celdaControl">
                    <asp:DropDownList ID="ddlWin" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlWin_SelectedIndexChanged">
                    </asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Valor Estratégico</strong></td>
                <td class="celdaControl">
                    <asp:DropDownList ID="ddlValorEst" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlValorEst_SelectedIndexChanged">
                    </asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Impacto/Tamaño</strong></td>
                <td class="celdaControl">
                    <asp:DropDownList ID="ddlTamano" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlTamano_SelectedIndexChanged">
                    </asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Peso Total</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtPesoTotal" runat="server" Width="80px" Enabled="False"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Objetivo</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtObjetivo" runat="server" Width="460px" Height="130px" TextMode="MultiLine"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaEncabezado"><strong>Alcance</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtAlcance" runat="server" Width="460px" Height="130px" TextMode="MultiLine"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaCombinada" colspan="2"><strong>Steering Committe</strong></td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Nombre</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtNomSC" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Cargo</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtCargoSC" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaSub"><strong>Dirección</strong></td>
                <td class="celdaControl">
                    <asp:TextBox ID="txtDirSC" runat="server" Width="460px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="celdaSub">&nbsp;</td>
                <td class="celdaControl">&nbsp;</td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: center">
                    <asp:Button ID="Button1" runat="server" Text="Agregar proyecto" OnClick="Button1_Click" />
                </td>
            </tr>
        </table>
    
    </asp:Panel>
    <p>
        &nbsp;</p>
    <asp:Panel ID="panelDash" runat="server" Height="177px" Visible="False">
        <asp:GridView ID="gvDash" runat="server" AutoGenerateColumns="False" EnableModelValidation="True">
            <Columns>
                <asp:BoundField HeaderText="Nombre del proyecto" DataField="nomp1" ItemStyle-HorizontalAlign="Center"/>
                <asp:BoundField HeaderText="Líder del proyecto" DataField="lidp1" ItemStyle-HorizontalAlign="Center"/>
                <asp:BoundField HeaderText="Fecha de inicio" DataField="inicial" ItemStyle-HorizontalAlign="Center"/>
                <asp:BoundField HeaderText="Fecha de finalización" DataField="final" ItemStyle-HorizontalAlign="Center"/>
            </Columns>
        </asp:GridView>
    </asp:Panel>
    <p>
        &nbsp;</p>
    
    

    Lo que se busca es agregar cierta información del gridview que se muestra al cargar la página en otro al pulsar el botón "Ver Dashboard" siempre y cuando estén seleccionados en el checkbox. El problema viene que al dar click en el botón no se toman los checkbox seleccionados y siempre toma el valor "false". Este es el código del método OnClick del botón:

    protected void GetSelectedRecords(object sender, EventArgs e)
            {
                //mensaje();
    
                panelDash.Visible = true;
                DataTable dt1 = new DataTable();
                DataColumn nombre_proyecto = dt1.Columns.Add("nomp1");
                DataColumn lider_proyecto = dt1.Columns.Add("lidp1");
                DataColumn fecha_inicio = dt1.Columns.Add("inicial");
                DataColumn fecha_fin = dt1.Columns.Add("final");
                foreach (GridViewRow row in gvProy.Rows)
                {
                    if (row.RowType == DataControlRowType.DataRow)
                    {
                        
                        //CheckBox chkRow = (row.Cells[0].FindControl("chkRow") as CheckBox);
                        //CheckBox chkRow = (gvProy.Rows[0].Cells[0].FindControl("chkRow") as CheckBox);
                        //CheckBox chkRow = (CheckBox)row.FindControl("chkRow");
                        CheckBox chkRow = row.FindControl("chkRow") as CheckBox;
                        if (chkRow.Checked == true)
                        {
                            string npr = row.Cells[1].Text;
                            string lpr = row.Cells[4].Text;
                            string fini = row.Cells[2].Text;
                            string ffin = row.Cells[3].Text;
                            dt1.Rows.Add(npr, lpr, fini, ffin);
                        }
                    }
                }
                gvDash.DataSource = dt1;
                gvDash.DataBind();
    
            }
    Quisiera saber que estoy haciendo mal o como hacer para que al dar click en el botón no se refresque toda la página y pueda tomar el valor de los checkbox seleccionados. Muchas gracias.


    jueves, 21 de abril de 2016 19:47

Respuestas

  • hola

    en que evento cargas los datos del GridView ? si es en el Page_Load recuerda poner el codigo dentro del

    if(!IsPostBack){
    
      //aqui cargas el gridview
    
    }


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta JuanDCQ jueves, 21 de abril de 2016 20:24
    jueves, 21 de abril de 2016 20:16

Todas las respuestas

  • hola

    en que evento cargas los datos del GridView ? si es en el Page_Load recuerda poner el codigo dentro del

    if(!IsPostBack){
    
      //aqui cargas el gridview
    
    }


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta JuanDCQ jueves, 21 de abril de 2016 20:24
    jueves, 21 de abril de 2016 20:16
  • Hola Leandro, mil gracias por responder. Increíble que haya dejado pasar por alto algo tan elemental. Funciona a la perfección


    jueves, 21 de abril de 2016 20:24