none
al agregar el boton <asp:CommandField ShowSelectButton="True" /> ya no carga la información ayuda RRS feed

  • Pregunta

  • <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Grid1.aspx.vb" Inherits="WebApplication1.Grid1" %>

    <!DOCTYPE html>

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

        <title></title>

          <style type="text/css">

            body

            {

                font-family: Arial;

                font-size: 10pt;

            }

        </style>

    </head>

    <body>

        <form id="form1" runat="server">

          

         <div style="width: 500px">

            <asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="False">

                <Columns>

                <asp:CommandField ShowSelectButton="True" /> 'AQUI MERO SI AGREGO EL BOTON SELECCIONAR SE DESCONTROLA COMO PUEDO AGREGAR EL BOTON SELECCIONAR PARA QUE ME CARGUE LA INFORMACION CORRECTAMENTE'

                    <asp:BoundField DataField="CustomerID" HeaderText="Customer Id" />

                    <asp:BoundField DataField="ContactName" HeaderText="Name" />

                    <asp:BoundField DataField="City" HeaderText="City" />

                    <asp:BoundField DataField="Country" HeaderText="Country" />

            

                   

            

                </Columns>

            </asp:GridView>

        </div>

        </form>

        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

        <script type="text/javascript" src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>

        <link href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.css" rel="stylesheet"

            type="text/css" />

        <script type="text/javascript">

            $(function () {

                $.ajax({

                    type: "POST",

                    url: "Grid1.aspx/GetCustomers",

                    data: '{}',

                    contentType: "application/json; charset=utf-8",

                    dataType: "json",

                    success: OnSuccess,

                    failure: function (response) {

                        alert(response.d);

                    },

                    error: function (response) {

                        alert(response.d);

                    }

                });

            });

            function OnSuccess(response) {

                $("[id*=gvCustomers]").DataTable(

                {

                    bLengthChange: true,

                    lengthMenu: [[5, 10, -1], [5, 10, "All"]],

                    bFilter: true,

                    bSort: true,

                        bPaginate: true,

                        select: {

                            style: 'single'

                        },

                      

                    data: response.d,

                        columns: [{ 'data': 'CustomerID' },

                              { 'data': 'ContactName' },

                              { 'data': 'City' },

                            { 'data': 'Country' }]

                       

                });

            };

        </script>

      

    </body>

    </html>

    miércoles, 24 de junio de 2020 18:07

Todas las respuestas

  • CITO ADJUNTO EL CODIGO DE VISUAL 

    SALUDOS

    Imports System.Data

    Imports System.Data.SqlClient

    Imports System.Configuration

    Imports System.Web.Services

    Imports Newtonsoft.Json

    Imports System.Linq

    Imports System.IO

    Partial Class Grid1

        Inherits System.Web.UI.Page

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

            If Not Me.IsPostBack Then

                Dim dummy As DataTable = New DataTable()

                dummy.Columns.Add("CustomerID")

                dummy.Columns.Add("ContactName")

                dummy.Columns.Add("City")

                dummy.Columns.Add("Country")

                dummy.Rows.Add()

                gvCustomers.DataSource = dummy

                gvCustomers.DataBind()

                'Required for jQuery DataTables to work.

                gvCustomers.UseAccessibleHeader = True

                gvCustomers.HeaderRow.TableSection = TableRowSection.TableHeader

            End If

        End Sub

        <WebMethod>

        Public Shared Function GetCustomers() As List(Of Customer)

            Dim customers As List(Of Customer) = New List(Of Customer)()

            Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString

            Using con As SqlConnection = New SqlConnection(constr)

                Using cmd As SqlCommand = New SqlCommand("SELECT CustomerID, ContactName, City, Country FROM Customers", con)

                    con.Open()

                    Using sdr As SqlDataReader = cmd.ExecuteReader()

                        While sdr.Read()

                            customers.Add(New Customer With {

                                .CustomerID = sdr("CustomerID").ToString(),

                                .ContactName = sdr("ContactName").ToString(),

                                .City = sdr("City").ToString(),

                                .Country = sdr("Country").ToString()

                            })

                        End While

                    End Using

                    con.Close()

                End Using

            End Using

            Return customers

        End Function

        Public Class Customer

            Public Property CustomerID As String

            Public Property ContactName As String

            Public Property City As String

            Public Property Country As String

        End Class

    End Class

    miércoles, 24 de junio de 2020 18:08
  • hola

    Porque usas un GridView para mostrar informacion que recibes por WebMethod, el grid de asp.emt es un pesimo control para hacer esto deberias usar un componente de tabla basado en jquery o similar como ser el

     Create jqGrid Using WebService

    o el

    DataTable

    aunque seguro hay muchos otros

    Igualmente revisa la consola del developer tools del browser, a la cual accedes con F12 para ver sino hay un error en javascript

    Pero igual recomiendo que no uses el grid de esa forma con jquery son una union que se llevan pesimo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 24 de junio de 2020 19:29