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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  agregar columnas al datagrid en tiempo de ejecucion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: agregar columnas al datagrid en tiempo de ejecucion  (Leído 7,972 veces)
SAGA-gl

Desconectado Desconectado

Mensajes: 45


Ver Perfil
agregar columnas al datagrid en tiempo de ejecucion
« en: 1 Julio 2015, 02:17 am »

buenas noches verán tengo el sig. código en el cual traigo una consulta de la bd y pongo los resultados en el datagridview....lo q qiero hacer es agregar una o mas columnas d tipo textbox y checkbox y q tngan x filas según la cantidad de renglones q devuelva la consulta en tiempo de ejecución....como lo logro? grax d antemano
Código
  1. private void textBox1_KeyDown(object sender, KeyEventArgs e)
  2.        {
  3.            if (e.KeyCode == Keys.Enter)
  4.            {
  5.  
  6.                if (txtNumero.Text == "")
  7.                {
  8.  
  9.                    DialogResult ds = MessageBox.Show("DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  10.                    this.Text = ds.ToString();
  11.                }
  12.                else
  13.                    if (txtNumero.Text != "")
  14.                    {
  15.                        conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
  16.                        conexion.Open();
  17.                        SqlCommand consulta = new SqlCommand("select count (*) from DetalleOrdenCompra where codigoOrden=@codigo", conexion);
  18.                        consulta.Parameters.AddWithValue("@codigo", Convert.ToInt32(txtNumero.Text));
  19.  
  20.                        int count = Convert.ToInt32(consulta.ExecuteScalar());
  21.  
  22.  
  23.                        if (count > 0)
  24.                        {
  25.  
  26.                            DialogResult result = MessageBox.Show(this, "DESEA REGISTRAR LOS DATOS?", "ORDEN DE COMPRA ENCONTRADA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
  27.  
  28.  
  29.  
  30.                            //MessageBox.Show(consulta2.ToString());
  31.                            this.Text = result.ToString();
  32.  
  33.                            if (result == DialogResult.OK)
  34.                            {
  35.  
  36.                                //CARGAR LOS DATAGRIDVIEW
  37.                                SqlCommand consulta2 = new SqlCommand("SELECT dbo.DetalleOrdenCompra.codigoMedicamento,dbo.medicamentos1.nombre_medicamento, dbo.DetalleOrdenCompra.cantidad FROM dbo.DetalleOrdenCompra INNER JOIN dbo.medicamentos1 ON dbo.DetalleOrdenCompra.codigoMedicamento = dbo.medicamentos1.id_medicamento INNER JOIN dbo.DetalleMedicamento ON dbo.medicamentos1.id_medicamento = dbo.DetalleMedicamento.id_medicamento WHERE codigoOrden=@codigo ", conexion);
  38.                                consulta2.Parameters.AddWithValue("@codigo", Convert.ToInt32(txtNumero.Text));
  39.                                SqlDataAdapter da = new SqlDataAdapter(consulta2);
  40.                                DataTable dt = new DataTable();
  41.                                da.Fill(dt);
  42.                                //dgv1.AutoGenerateColumns = false;
  43.                                dgv1.DataSource = dt;
  44.  
  45.                                dgv1.Columns[0].HeaderText = "CODIGO";
  46.                                dgv1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  47.                                dgv1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  48.                                dgv1.Columns[0].Width = 60;
  49.                                dgv1.Columns[1].HeaderText = "MEDICAMENTO";
  50.                                dgv1.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  51.                                dgv1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  52.                                dgv1.Columns[1].Width = 211;
  53.                                dgv1.Columns[2].HeaderText = "CANTIDAD";
  54.                                dgv1.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  55.                                dgv1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  56.                                dgv1.Columns[2].Width = 80;
  57.  
  58.  
  59.  
  60.                                txtNumero.Enabled = false;
  61.                            }
  62.                            else if (result == DialogResult.Cancel)
  63.                            {
  64.  
  65.                                txtNumero.Text = "";
  66.  
  67.                            }
  68.  
  69.                            this.Text = result.ToString();
  70.  
  71.  
  72.                        }
  73.                        else
  74.                        {
  75.  
  76.                            DialogResult ds = MessageBox.Show(this, "LA ORDEN INGRESADA NO SE ENCUENTRA REGISTRADA", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  77.                            this.Text = ds.ToString();
  78.  
  79.                        }
  80.  
  81.                        conexion.Close();
  82.  
  83.                    }


En línea

SAGA-gl

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: agregar columnas al datagrid en tiempo de ejecucion
« Respuesta #1 en: 1 Julio 2015, 16:26 pm »

lo pude solucionar....agrego a datagrid2 tantas filas como devuelva la consulta al datagrid1.....ahora como puedo hacer para que las filas del datagrid2 se puedan modificar? muchas gracias
Código
  1. private void txtNumero_KeyDown_1(object sender, KeyEventArgs e)
  2.        {
  3.            if (e.KeyCode == Keys.Enter)
  4.            {
  5.  
  6.                if (txtNumero.Text == "")
  7.                {
  8.  
  9.                    DialogResult ds = MessageBox.Show("DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  10.                    this.Text = ds.ToString();
  11.                }
  12.                else
  13.                    if (txtNumero.Text != "")
  14.                    {
  15.                        conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
  16.                        conexion.Open();
  17.                        SqlCommand consulta = new SqlCommand("select count (*) from DetalleOrdenCompra where nro_orden=@nro", conexion);
  18.                        consulta.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNumero.Text));
  19.  
  20.                        int count = Convert.ToInt32(consulta.ExecuteScalar());
  21.  
  22.  
  23.                        if (count > 0)
  24.                        {
  25.  
  26.                            DialogResult result = MessageBox.Show(this, "DESEA REGISTRAR LOS DATOS?", "ORDEN DE COMPRA ENCONTRADA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
  27.  
  28.  
  29.                            //MessageBox.Show(consulta2.ToString());
  30.                            this.Text = result.ToString();
  31.  
  32.                            if (result == DialogResult.OK)
  33.                            {
  34.  
  35.                                //CARGAR LOS DATAGRIDVIEW
  36.                                SqlCommand consulta2 = new SqlCommand("SELECT dbo.medicamentos1.nombre_medicamento, dbo.medicamentos1.jerarquia, dbo.DetalleOrdenCompra.cantidad FROM dbo.DetalleOrdenCompra INNER JOIN dbo.medicamentos1 ON dbo.DetalleOrdenCompra.codigoMedicamento = dbo.medicamentos1.id_medicamento WHERE nro_orden=@nro ", conexion);
  37.                                consulta2.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNumero.Text));
  38.                                SqlDataAdapter da = new SqlDataAdapter(consulta2);
  39.                                DataTable dt = new DataTable();
  40.                                da.Fill(dt);
  41.  
  42.                                dgv1.DataSource = dt;
  43.                                int rows = dt.Rows.Count;
  44.  
  45.                                dgv1.Columns[0].HeaderText = "MEDICAMENTO";
  46.                                dgv1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  47.                                dgv1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  48.                                dgv1.Columns[0].Width = 211;
  49.                                dgv1.Columns[1].HeaderText = "JERARQUIA";
  50.                                dgv1.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  51.                                dgv1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  52.                                dgv1.Columns[1].Width = 180;
  53.                                dgv1.Columns[2].HeaderText = "CANTIDAD";
  54.                                dgv1.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  55.                                dgv1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  56.                                dgv1.Columns[2].Width = 80;
  57.  
  58.  
  59.  
  60.                                for (int i = 1; i <= rows; i++)
  61.                                {
  62.                                    DataGridViewRow row = (DataGridViewRow)dgv2.RowTemplate.Clone();
  63.                                    dgv2.Rows.Add(row);
  64.  
  65.  
  66.                                }
  67.                                txtNumero.Enabled = false;
  68.  
  69.                            }
  70.                            else if (result == DialogResult.Cancel)
  71.                            {
  72.  
  73.                                txtNumero.Text = "";
  74.  
  75.                            }
  76.  
  77.                            this.Text = result.ToString();
  78.  
  79.  
  80.                        }
  81.                        else
  82.                        {
  83.  
  84.                            DialogResult ds = MessageBox.Show(this, "LA ORDEN INGRESADA NO SE ENCUENTRA REGISTRADA", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  85.                            this.Text = ds.ToString();
  86.  
  87.                        }
  88.  
  89.                        conexion.Close();
  90.                    }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Agregar controles en tiempo de ejecucion
Programación Visual Basic
Garrido_jesus20 6 3,449 Último mensaje 29 Marzo 2006, 21:57 pm
por Garrido_jesus20
enlazar en tiempo de ejecucion un datagrid
Programación Visual Basic
choquito 0 1,077 Último mensaje 1 Marzo 2007, 21:16 pm
por choquito
Modificar el datagrid en tiempo de ejecucion
.NET (C#, VB.NET, ASP)
joalbela 1 6,910 Último mensaje 10 Marzo 2011, 22:16 pm
por SRVAM
Agregar columnas a un datagrid
.NET (C#, VB.NET, ASP)
proteus8 4 6,122 Último mensaje 4 Abril 2011, 21:34 pm
por proteus8
Agregar un JLabel en tiempo de ejecución
Java
zonahurbana 3 4,784 Último mensaje 30 Julio 2013, 21:56 pm
por zonahurbana
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines