saludos a todos, estoy tratando llenar un Gridview desde un Servicio Web, pero no consigo que me desplieguen los datos.
no entiendo donde tengo el problema, que el Servicio Web y el SQL están funcionando bien, y cuando ejecuto la función de click del botón buscar se muestra el Gridview pero vació.
les dejo mi código del servicio Web así como de la pagina que estoy haciendo.
Servicio Web
Código C:
Ver original[WebMethod]
public List<Documentos> ConClienteId(double cliente)
{
string conexion = "Data Source=localhost;Initial Catalog=pruebas;Persist Security Info=false;User ID=sa;Password=zas";
SqlConnection ConSQL = new SqlConnection(conexion);
ConSQL.Open();
string ConString = "EXEC selec_cliente_documentos " + cliente;
SqlDataAdapter Consulta = new SqlDataAdapter(ConString, ConSQL);
DataTable dt = new DataTable();
Consulta.Fill(dt);
List<Documentos> Documento = new List<Documentos>();
foreach (DataRow dr in dt.Rows)
{
Documentos doc = new Documentos();
doc.serie = Convert.ToString(dr["serie"]);
doc.documento = Convert.ToString(dr["documento"]);
doc.importe = Convert.ToDouble(dr["importe"]);
doc.saldo = Convert.ToDouble(dr["saldo"]);
doc.fecha = Convert.ToString(dr["fecha_vencimiento"]);
doc.estatus = Convert.ToString(dr["estatus"]);
Documento.Add(doc);
}
ConSQL.Close();
return Documento;
}
}
public class Documentos
{
public string serie { get; set; }
public string documento { get; set; }
public double importe { get; set; }
public double saldo { get; set; }
public string fecha { get; set; }
public string estatus { get; set; }
}
Resultado del Servicio Web
Código XML:
Ver original<ArrayOfDocumentos xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost/Servicio.asmx">
<Documentos>
<serie>FA</serie>
<documento>7</documento>
<importe>445</importe>
<saldo>200</saldo>
<fecha>15/10/2014 12:00:00 a. m.</fecha>
<estatus>A</estatus>
</Documentos>
<Documentos>
<serie>FA</serie>
<documento>8</documento>
<importe>445</importe>
<saldo>445</saldo>
<fecha>15/11/2014 12:00:00 a. m.</fecha>
<estatus/>
</Documentos>
<Documentos>
<serie>FA</serie>
<documento>9</documento>
<importe>445</importe>
<saldo>445</saldo>
<fecha>15/12/2014 12:00:00 a. m.</fecha>
<estatus/>
</Documentos>
<Documentos>
<serie>FA</serie>
<documento>10</documento>
<importe>445</importe>
<saldo>445</saldo>
<fecha>15/01/2015 12:00:00 a. m.</fecha>
<estatus/>
</Documentos>
<Documentos>
<serie>FA</serie>
<documento>11</documento>
<importe>445</importe>
<saldo>445</saldo>
<fecha>15/02/2015 12:00:00 a. m.</fecha>
<estatus/>
</Documentos>
<Documentos>
<serie>FA</serie>
<documento>12</documento>
<importe>445</importe>
<saldo>445</saldo>
<fecha>15/03/2015 12:00:00 a. m.</fecha>
<estatus/>
</Documentos>
<Documentos>
<serie>FA</serie>
<documento>13</documento>
<importe>448</importe>
<saldo>448</saldo>
<fecha>15/04/2015 12:00:00 a. m.</fecha>
<estatus/>
</Documentos>
</ArrayOfDocumentos>
Aquí la pagina
Código ASP:
Ver original<div>
Listado de Documentos de Clientes<br />
<br />
Clave del Cliente: <asp:TextBox ID="txtcliente" runat="server"></asp:TextBox>
<asp:Button ID="btnBuscar" runat="server" Text="Buscar" />
<br />
<br />
<asp:GridView ID="Listdocumentos" runat="server" AutoGenerateColumns="False" DataKeyNames = "Serie" >
<Columns>
<asp:BoundField AccessibleHeaderText="Serie" HeaderText="Serie" />
<asp:BoundField AccessibleHeaderText="Documento" HeaderText="Documento" />
<asp:BoundField AccessibleHeaderText="Importe" HeaderText="Importe" />
<asp:BoundField AccessibleHeaderText="Saldo" HeaderText="Saldo" />
<asp:BoundField AccessibleHeaderText="Fecha"
HeaderText="Fecha de Vencimiento" />
<asp:BoundField AccessibleHeaderText="Estatus" HeaderText="Estatus" />
</Columns>
</asp:GridView>
</div>
y la pagina oculta
Código vb:
Ver originalPartial Public Class _Default
Inherits System.Web.UI.Page
Dim Servicio As New ServicioWeb.Servicio
Dim cliente As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnBuscar.Click
cliente = txtcliente.Text
Listdocumentos.DataSource = Servicio.ConClienteId(cliente)
Listdocumentos.DataBind()
End Sub
End Class