|    
			
				13/07/2005, 02:19
			
			
			  | 
  |   |  |  |  |  Fecha de Ingreso: abril-2005 
						Mensajes: 611
					 Antigüedad: 20 años, 6 meses 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
     |