T han utilizado la columna de casillas de verificación en el gridview. En el clic de un linkbutton, es necesario comprobar que las casillas de verificación en el gridview se comprueban o no. Si ninguna casilla de verificación está marcada, se debe mostrar un alert(«Cheque en leat una casilla de verificación»).

  • por qué marcados con C# y asp.net si se trata de un javascript pregunta?
  • En realidad, yo era nuevo en desarrollo en ese momento. así que tengo que pensar que javascript funciona de forma diferente para diferentes langueges en ese momento. Tan solo quería decir que estoy usando c# y asp.net y necesita ayuda para javascript
InformationsquelleAutor Devashri B. | 2008-12-08

4 Comentarios

  1. 1

    Usted tendrá que añadir Javascript personalizado para tu página para el lado del cliente alerta para mostrar. He aquí un método que he escrito que funciona con un GridView llamado ‘GridView1’ (este debe ser el nombre predeterminado si usted acaba de arrastrar el control a la página ASPX):

    <script type="text/javascript">
        function ClientCheck() {
            var valid = false;
            var gv = document.getElementById("GridView1");
    
            for (var i = 0; i < gv.all.length; i++) {
                var node = gv.all[i];
                if (node != null && node.type == "checkbox" && node.checked) {
                    valid = true;
                    break;
                }
            }
            if (!valid) {
                alert("Invalid. Please select a checkbox to continue.");
            }
    
            return valid;
        }
    </script>

    Usted puede ver que establece una variable a la GridView de control para empezar, a continuación, recorre todos los niños en un for bucle. Si el niño es un checkbox y es checked, a continuación, establecemos la valid variable a true. Si llegamos a la final de la iteración y no comprobado casillas de verificación se encuentra, entonces valid sigue siendo falso y ejecutamos la alerta.

    A link esta en su GridView en su página ASPX, primero asegúrese de que el botón de la columna a TemplateField y rodean el LinkButton con su código de cliente. Si has usado el diseñador para configurar las columnas, puede usar la opción «Convertir este campo informe en TemplateField» enlace en la columna del editor). He aquí un ejemplo de la fuente que va a terminar con:

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1">
        <Columns>
            <asp:TemplateField HeaderText="Button Field" ShowHeader="False">
                <ItemTemplate>
                    <span onclick="return ClientCheck();">
                        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="IDClick" Text='<%# Eval("YourDataSourceItem") %>'></asp:LinkButton>
                    </span>
                </ItemTemplate>
            </asp:TemplateField>
            //...your remaining columns...

    El uso de la TemplateField nos permite agregar cualquier código de cliente que nos gusta. Aquí estamos añadiendo un span y el uso de onclick a llamar a nuestra ClientCheck método.

    Si usted no está preocupado acerca de la alerta, usted puede lograr sus objetivos mediante el uso de un CustomValidator de control, que se ejecuta en el lado del servidor.

    Espero que esto ayude.

  2. 1

    He encontrado la respuesta. y su trabajo…

    función checkBoxselectedornot()
    {

           var frm=document.forms['aspnetForm'];
           var flag=false;
           for(var i=0;i<document.forms[0].length;i++)
           {
               if(document.forms[0].elements[i].id.indexOf('chkDownloadSelectedEvent')!=-1)
               {
                     if(document.forms[0].elements[i].checked)
                     {
                          flag=true
                     }  
               }
           } 
          if (flag==true)
          {
            return true
          }else
          {
            alert('Please select at least one Event.')
            return false
          }
    
    }

    y girdview código es…

                <asp:BoundField ItemStyle-Width ="100px" DataField ="EventStartDate" DataFormatString ="{0:g}" HeaderText ="<%$ Resources:stringsRes, ctl_EventList_StartDate %>" SortExpression ="EventStartDate" HtmlEncode ="true" ItemStyle-Wrap ="false" />
                <asp:BoundField ItemStyle-Width="100px" DataField="EventDate" DataFormatString="{0:g}" HeaderText="<%$ Resources:stringsRes, ctl_EventList_Date %>"  SortExpression="EventDate" HtmlEncode="true" ItemStyle-Wrap="false" />
                <asp:ButtonField ItemStyle-Width="150px" ButtonType="Link" DataTextField="EventName" HeaderText="<%$ Resources:stringsRes, ctl_EventList_Event %>"  SortExpression="EventName" CommandName="show_details" CausesValidation="false" />
                <asp:BoundField DataField="EventLocation" HeaderText="<%$ Resources:stringsRes, ctl_EventList_Location %>" SortExpression="EventLocation" />
                <asp:TemplateField HeaderText ="Select">
                <ItemTemplate >
                    <asp:CheckBox ID="chkDownloadSelectedEvent" runat ="server" AutoPostBack ="false" Onclick="eachCheck();"/>                   
    
                </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <RowStyle Height="25px" />
            <HeaderStyle Height="30px"/>
        </asp:GridView>

    y hay un botón de enlace ….

  3. 0

    I havnt utiliza la casilla de verificación en la vista de cuadrícula, pero que no se puede hacer un bucle alrededor de las columnas en el gridview y comprobar el estado? Myabe agregar una cuenta y si es 0 entonces la alerta.

    • sí. pero es posible en el lado del servidor. Tengo que hacerlo en java script. Y casillas no se puede acceder como lo son en la Plantilla de Elemento de gridview.
  4. 0
    var grid = document.getElementById("gridId");  //Retrieve the grid    
        var inputs = grid.getElementsByTagName("input"); //Retrieve all the input elements from the grid
        var isValid = false;
        for (var i=0; i < inputs.length; i += 1) { //Iterate over every input element retrieved
            if (inputs[i].type === "checkbox") { //If the current element's type is checkbox, then it is wat we need
                if(inputs[i].checked === true) { //If the current checkbox is true, then atleast one checkbox is ticked, so break the loop
                    isValid = true;
                    break;
                }
            }
        }
        if(!isValid) {
            alert('Check at least one checkbox');
        }
    • Gracias, pero aún casilla de verificación no se puede acceder.

Dejar respuesta

Please enter your comment!
Please enter your name here