Ver Mensaje Individual
  #14 (permalink)  
Antiguo 13/07/2005, 02:19
Avatar de Nombela
Nombela
 
Fecha de Ingreso: abril-2005
Mensajes: 611
Antigüedad: 19 años, 1 mes
Puntos: 1
PRoblema con el datakeyfield

La idea del datakey field es muy buena pero no consigo que me funcione.

Mira aqui te pongo como cargo el DataGrid:

private void CargarGrid()
{
string connectionString = ConfigurationSettings.AppSettings["conexion"];
SqlConnection conexion= new SqlConnection(connectionString);
SqlCommand comando= conexion.CreateCommand();
comando.CommandText = "SELECT DISTINCT Nodos.IpGestion, Nodos.IpPrivada, Nodos.Empresa, Nodos.CodCli, Nodos.Hostname, Nodos.Descripcion, Nodos.Fabricante, Nodos.PartNumber, "+
"Nodos.NSerie, Nodos.NSlots, Nodos.ComunidaLectura, Nodos.InterfacesMonitorizar, Nodos.Direccion, Tarjetas.SlotsInstalacion, "+
"Tarjetas.NSerie AS Expr2, Tarjetas.PartNumber AS Expr3, Tarjetas.Descripcion AS Expr4, Nodos.Ciudad, Nodos.Provincia, Nodos.NombrePersona, "+
"Nodos.TelefonoPersona, Nodos.EmailPersona, Nodos.DireccionPersona, Nodos.Comentario, Nodos.TipoMantenimiento, "+
"Nodos.EmpresaMantenimiento, Nodos.PersonaMantenimiento, Nodos.TelefonoMantenimiento, Nodos.EmpresaClienteMantenimiento, "+
"Nodos.CodClienteMantenimiento FROM ServiciosNodos INNER JOIN Nodos ON ServiciosNodos.NodoIpGestion = Nodos.IpGestion INNER JOIN "+
"Servicios ON ServiciosNodos.ServId = Servicios.ServId INNER JOIN UsuariosServicios ON Servicios.ServId = UsuariosServicios.UsServIdServ INNER JOIN Usuarios INNER JOIN "+
"Clientes ON Usuarios.UsIdCli = Clientes.UsIdCli ON UsuariosServicios.UsServIdUs = Usuarios.UsId INNER JOIN Tarjetas ON Nodos.IdTarjeta = Tarjetas.IdTarjeta WHERE (Clientes.UsIdCli = "+Request.QueryString["id"].ToString()+")";

// Execute the command
conexion.Open();
SqlDataReader reader = comando.ExecuteReader();

//Create the DataTable
DataTable dt = new DataTable ();
//Create the columns
DataColumn dcName = new DataColumn("Nombre");
DataColumn dcDato = new DataColumn("Dato");

//Add the columns to the DataTable's Columns collection
dt.Columns.Add(dcName);
dt.Columns.Add(dcDato);
DataRow fila;
while(reader.Read())
{
for(int i=0;i<reader.FieldCount;i++)
{
fila = dt.NewRow();
fila["Nombre"] = reader.GetName(i);
fila["Dato"] = reader[i];
dt.Rows.Add(fila);
}
}
DataGrid1.DataSource = dt;
DataGrid1.HeaderStyle.CssClass="header";
DataGrid1.AlternatingItemStyle.CssClass="par";
DataGrid1.DataBind();
reader.Close();
conexion.Close();
}

y en el datakeyfield pongo DataKeyField="IpGestion" pero me dice DataBinder.Eval: 'System.Data.DataRowView' does not contain a property with the name IpGestion.

ALguien sabe xq????

gracias