elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  como hacer q se agreguen las filas en radGridView
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como hacer q se agreguen las filas en radGridView  (Leído 5,274 veces)
SAGA-gl

Desconectado Desconectado

Mensajes: 45


Ver Perfil
como hacer q se agreguen las filas en radGridView
« en: 29 Abril 2015, 16:53 pm »

wenas.....tngo el siguiente código el cual hace la consulta a la bd y en teoría m tendría q agregar el resultado en la fila del radGridView de telerik...la fila se agrega pero vacia....debo activar alguna propiedad??? muchas grax
Código
  1. private void radButton1_Click(object sender, EventArgs e)
  2.        {
  3.            if(txtNro.Text=="")
  4.                MessageBox.Show("DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  5.            else
  6.                if (txtNro.Text != "")
  7.                {
  8.                    conexion.Open();
  9.                    SqlCommand consulta = new SqlCommand("select Convert(varchar(10),fecIni,103) as fecIni ,Convert(Varchar(10),fecFin,103) as fecFin from ordenes where nro_orden=@nro", conexion);
  10.                    consulta.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNro.Text));
  11.                    SqlDataReader registro = consulta.ExecuteReader();
  12.                    if (registro.Read())
  13.                    {
  14.                        labelIni.Text = Convert.ToString(registro["fecIni"]);
  15.                        labelFinal.Text = Convert.ToString(registro["fecFin"]);
  16.                    }
  17.                    else
  18.                    {
  19.                        MessageBox.Show("NO SE ENCONTRO EL NUMERO DE ORDEN INGRESADO", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  20.                        labelIni.Text = "";
  21.                        labelFinal.Text = "";
  22.                    }
  23.                    conexion.Close();
  24.                    DataTable dt = new DataTable();
  25.                    conexion.Open();
  26.                    SqlCommand consulta2 = new SqlCommand("select medicamento,cantidad,programa,precioUnit,precioFin from DetalleOrden where nro_orden=@nro",conexion);
  27.                    consulta2.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNro.Text));
  28.                    SqlDataAdapter da = new SqlDataAdapter(consulta2);
  29.                    da.Fill(dt);
  30.                    rgv.DataSource = dt;
  31.                    conexion.Close();
  32.  
  33.  
  34.                }
  35.        }


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: como hacer q se agreguen las filas en radGridView
« Respuesta #1 en: 29 Abril 2015, 17:39 pm »

Las classes que puedes usar cómo DataSource en los controles de Telerik deben cumplir unas condiciones específicas (tener implementadas ciertas interfaces), aunque en un principio la class DataTable si que funciona correctamente, lo aconsejable por Telerik es crear tu propia Class respetando esas reglas de uso.

En tu caso dices que no te funciona, para ser sinceros no se me ocurre el por qué, pero si cómo puedes intnetar solucionarlo...

Prueba a declarar esa DataTable fuera del sub, prueba a asignar la propiedad DataTable.DefaultView al radGridView.DataSource, y si las filas siguen sin aparecer entonces prueba a asignar una consulta paralela para evitar "cambios" indeseados en el DataSource (quizás el GarbageCollector esté reciclando la Datatable antes de tiempo y por eso desaparecen los datos de tus filas):

VB.Net:
Código
  1.        Dim dt As New DataTable()
  2.        With dt
  3.  
  4.            .BeginLoadData()
  5.            .Columns.Add("Column1")
  6.            .Columns.Add("Column2")
  7.            .Rows.Add({"Value1", "Value2"})
  8.            .EndLoadData()
  9.            .AcceptChanges()
  10.  
  11.        End With
  12.  
  13.        RadGridView1.DataSource = dt.DefaultView.AsParallel
  14.        dt.Clear()

C#:
Código
  1. DataTable dt = new DataTable();
  2.  
  3. dt.BeginLoadData();
  4. dt.Columns.Add("Column1");
  5. dt.Columns.Add("Column2");
  6. dt.Rows.Add({"Value1", "Value2"});
  7. dt.EndLoadData();
  8. dt.AcceptChanges();
  9.  
  10. RadGridView1.DataSource = dt.DefaultView.AsParallel;
  11. dt.Clear();

Te sugiero que leas la documentación online de Telerik, ayuda bastante a saber cómo empezar a manejarse en ciertos aspectos de cada control:
RadGridView OverView
Databinding RadGridView

Además, si has registrado la versión Trial de Telerik UI entonces puedes acudir al foro de soporte y ellos sabrán mejor cómo solucionarte el problema, esto te podría ayudar, aunque es para WPF:
Bind Datatable with RadGridView

Saludos


« Última modificación: 29 Abril 2015, 17:58 pm por Eleкtro » En línea



SAGA-gl

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: como hacer q se agreguen las filas en radGridView
« Respuesta #2 en: 29 Abril 2015, 20:44 pm »

grax elektro.....t molesto nuevamente ejecutando la aplicación con el primer código q postee (no me había dado cuenta) al final m trae los datos de la consulta pero crea nuevamente las 5 columnas al lado de las 5 q yo diseñe y m coloca ahí los datos.....como evito esto y q coloq los datos directamente debajo de las columnas q yo diseñe?? grax d antemano
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: como hacer q se agreguen las filas en radGridView
« Respuesta #3 en: 29 Abril 2015, 22:54 pm »

con el primer código q postee (no me había dado cuenta) al final m trae los datos de la consulta pero crea nuevamente las 5 columnas al lado de las 5 q yo diseñe y m coloca ahí los datos

Claro, eso si que sucede, es normal, te vuelvo a sugerir que leas a fondo la documentación que hay en el último enlace que te he mostrado para que entiendas lo que está pasando.

Hay varias formas de solucionarlo, pero esta creo que es la más sencilla (ya que no requiere el diseño de classes adicionales ni nada)

Supongamos que tienes una columna agregada con el nombre "GridColumn1":
Código
  1. RadGridView1.Columns.Add(name:="GridColumn1", headerText:="Mi Columna");

En primer lugar debes desactivar la auto generación de columnas al bindear:
Código
  1. RadGridView1.AutoGenerateColumns = False;

Y teniendo una instancia de la DataTable cómo esta, donde la columna se llama "Data Column":
Código
  1. DataTable dt = new DataTable();
  2. dt.Columns.Add("Data Column");
  3. dt.Rows.Add("Value");

Asignas el nombre de ese campo a la columna del Grid:
Código
  1. RadGridView1.Columns(columnName:="GridColumn1").FieldName = "Data Column";

Asignas el DataSource, y listo:
Código
  1. RadGridView1.DataSource = dt.DefaultView;



Otra solución también muy sencilla sería eliminar las columnas que agregaste manuálmente, y renombrar las columnas que se auto-generaron al asignar el data source.

Código
  1. DataTable dt = new DataTable();
  2. dt.Columns.Add("Data Column 1");
  3. dt.Columns.Add("Data Column 2");
  4. dt.Rows.Add({"Value 1", "Value 2"});
  5.  
  6. RadGridView1.BeginUpdate();
  7. RadGridView1.Columns.Clear();
  8. RadGridView1.DataSource = dt.DefaultView;
  9. RadGridView1.Columns(0).HeaderText = "Columna 1";
  10. RadGridView1.Columns(1).HeaderText = "Columna 2";
  11. RadGridView1.EndUpdate();

Saludos.
« Última modificación: 29 Abril 2015, 23:01 pm por Eleкtro » En línea



SAGA-gl

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: como hacer q se agreguen las filas en radGridView
« Respuesta #4 en: 30 Abril 2015, 23:45 pm »

Muchas grax elektro y perdón x las molestias es q soy novato en esto y estoy haciendo mi tesis asi q podría volver con mas preguntas jajaja.....
Slds!
En línea

SAGA-gl

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: como hacer q se agreguen las filas en radGridView
« Respuesta #5 en: 4 Mayo 2015, 05:27 am »

eligiendo la segunda opción (la de eliminar columnas y renombrar las autogeneradas) lo pude solucionar ahora kise probar la primer solución q m dist solo x curiosidad y no lo puedo hacer:
Código
  1. DataTable dt = new DataTable();
  2.            dt.Columns.Add("Data Column");
  3.            conexion2.Open();
  4.            SqlCommand consulta2 = new SqlCommand("SELECT dbo.DetalleOrden.medicamento, dbo.DetalleOrden.cantidad, dbo.DetalleOrden.programa, dbo.DetalleOrden.precioUnit,dbo.DetalleOrden.precioFinal FROM dbo.ordenes INNER JOIN dbo.DetalleOrden ON dbo.ordenes.nro_orden = dbo.DetalleOrden.nro_orden WHERE (dbo.ordenes.nro_orden = @nro)", conexion2);
  5.            consulta2.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNro.Text));
  6.            dt.Rows.Add("medicamento");
  7.            rgv.Columns["column4"].FieldName = "Data Column";
  8.            rgv.DataSource = dt.DefaultView;
  9.            conexion2.Close();
en el dt.rows.add esta bien escrito lo q le tngo q pasar? como seria?
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: como hacer q se agreguen las filas en radGridView
« Respuesta #6 en: 4 Mayo 2015, 10:33 am »

eligiendo la segunda opción (la de eliminar columnas y renombrar las autogeneradas) lo pude solucionar ahora kise probar la primer solución q m dist solo x curiosidad y no lo puedo hacer:

Si te funciona la opción alternativa que te mostré entonces no te agobies y hazlo así, por lo que yo veo en el código que has mostrado debería funcionar por que estás siguiendo el ejemplo funcional que te mostré, pero tampoco soy un gurú de Telerik, si quieres resolver el problema deberías consultarlo en su foro de soporte (si cumples las condiciones para que te den soporte)

Saludos!
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines