You are on page 1of 19

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.


All Rigths Reserved.

Con ttulo y cdula profesional 5632071 en la Maestra en Ciencias de la Computacin. Egresado del Instituto Tecnolgico de Orizaba, Ver. (Mxico).
Pgina 1 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

Acerca de mi.
Titulado en la Maestra en Ciencias en Ciencias de la Computacin, Cdula profesional 5632071. Egresado del Instituto Tecnolgico de Orizaba, Ver., Mxico. Antes, me Titul en la Licenciatura en Informtica, Cdula profesional 4046033. Egresado del Instituto Tecnolgico de Tuxtepec, Oax., Mxico, distinguindome adems, por ser el mejor promedio de mi generacin con 98%. Bien, regresando al tema de mi Ttulo de Maestra en Ciencias de la Computacin, para subrayar que sta, requiri el desarrollo de una TESIS. Otro aspecto muy importante, fue que durante el desarrollo de mi Maestra escrib un ARTICULO, mismo que fue aceptado para publicacin y con mi ponencia en el evento 'Primer Encuentro de Estudiantes en Ciencia de la Computacin - E2C2' ISBN-10:970-36-0404-8 e ISBN-13:978-970-36-0404-3 celebrado en el Instituto Politcnico Nacional, Mxico, D.F. 2007.

Pgina 2 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

Mi Diploma por mi Ponencia en el Instituto Politcnico Nacional, Mxico, D.F. 2007.


Pgina 3 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

Inside the great field of the Programming, I own to offer my knowledge of the Structured Programming Paradigm. This, principally by means of the Language C. Also, I own to offer my knowledge of the Object-Oriented Paradigm. This, by means of The Languages Java and Visual C#. Majorly.

M.C. Enrique Ruiz Daz.


Pgina 4 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

NDICE
Acerca de mi. ............................................................................................................................................................. 2 NDICE ........................................................................................................................................................................ 5 1. Objetivos logrados. ................................................................................................................................................ 6 1.1. Para el usuario final. ......................................................................................................................................... 6 1.2 Para el programador. ........................................................................................................................................ 6 1.3. Comentario. ..................................................................................................................................................... 6 2. Por qu el DataGridView como no atado, es decir, independiente, y no el atado?. ............................................ 7 3. Especificando al DataGridView como no atado, al arrastrarlo y soltarlo en la aplicacin. ..................................... 8 4. Cmo aparece la aplicacin en la parte de diseo visual. ...................................................................................... 9 5. Desglose de elementos de arrastrar y soltar en el formulario de la aplicacin. ............................................... 10 6. Cmo aparece la aplicacin ejecutandose ante el usuario final........................................................................... 12 7. Cmo debe proceder el usuario final para seleccionar un registro (rengln) o varios de estos a la vez. ............. 13 8. Cdigo fuente del Programa. ............................................................................................................................... 14
Pgina 5 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

1. Objetivos logrados.
1.1. Para el usuario final.
1) 2) 3) 4) 5) 6) 7) 8) Desplegar el instrumento DataGridView como un presentador de registros (renglones) de informacin. Permitirse el modificar datos. Inhabilitar la posibilidad de modificar datos. Indicar que slo un registro puede ser seleccionado a la vez. Indicar que mltiples registros pueden ser seleccionados. Eliminar registros previamente seleccionados. Habilitar el poder agregar registros. Desplegar el contenido de registros seleccionados.

1.2 Para el programador.


A travs del presente documento, el programador conocer cmo codificar las instrucciones que permiten llevar a cabo las operaciones ya referidas en el punto 1.1. anterior.

1.3. Comentario.
Es el programador el que decide que facultades se otorgan al usuario final, y que facultades se reserva l. En el programa de ejemplo aqu mostrado, el usuario final recibi todas las facultades ya referidas. Pgina 6 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

2. Por qu el DataGridView como no atado, es decir, independiente, y no el atado?.

La respuesta ms obvia a esta pregunta es que el presente documento se enfoc en el DataGridView no atado, y no en el atado como objeto de estudio. Entonces se hace evidente que el DataGridView atado ser objeto de otro estudio aparte. Bien, ahora debo decir que el DataGridView no atado resulta atrayente porque atorga al Programador avispado (es decir, hbil para codificar) el control y los beneficios de esta poderosa herramienta enteramente a su responsabilidad. Por supuesto que conocer al DataGridView atado (ahora no estudiado) tambin es importante, pero ese DataGridView implica para el programador otros compromisos (computacionalmente hablando) de los cuales debe estar muy bien documentado para que no le resulte contraproducente. En consecuencia, como ya dije, si se sabe programamar bien, el presente estudio resulta ser un comienzo conveniente.

Pgina 7 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

3. Especificando al DataGridView como no atado, al arrastrarlo y soltarlo en la aplicacin.

Insertando a travs de arrastrar y soltar al DataGridView en la aplicacin.

Observe que al arrastrar y soltar el DataGridView en la aplicacn, no modificamos los datos de configuracin que ya inicialmente nos provee. Observe que el valor para Choose Data Source permanece como none. Esto ltimo significa que el DataGridView no est atado a alguna fuente de datos.
Pgina 8 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

4. Cmo aparece la aplicacin en la parte de diseo visual.

La Aplicacin, ante el usuario final.


Pgina 9 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

5. Desglose de elementos de arrastrar y soltar en el formulario de la aplicacin.


El desglose es de izquierda a derecha, y de arriba abajo.

Tipo de elemento
Button dataGridView Button Button Label Button Button Label Button Show_DataGridView dataGridView1

Nombre

button1_Allow_to_Modify_data button_Do_not_Allow_to_modify_data label1 button_Only_a_selected_row button1_Allow_multiple_selection_of_rows label2 button1_delete_selected_rows

Pgina 10 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.


Button Button Label button1_Allow_to_add_rows boton_Show_me_the_selected_row label3

Pgina 11 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

6. Cmo aparece la aplicacin ejecutandose ante el usuario final.

La Aplicacin en ejecucin.

Pgina 12 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

7. Cmo debe proceder el usuario final para seleccionar un registro (rengln) o varios de estos a la vez.

El DataGridView con tres registros seleccionados.

Observe que al comienzo de cada registro (rengln) existe un pequeo recuadro, que provisionalmente llamaremos celda para seleccionar. Bien, si slo se requiere seleccionar un registro, nicamente se requiere dar un clic en la celda para seleccionar correspondiente. Ahora, si se requiere seleccionar ms de un registro a la vez, entonces primero se oprime la tecla CONTROL y se conserva oprimida, con esto, ya se puede usar la referida celda para seleccionar con los registros deseados.

Pgina 13 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

8. Cdigo fuente del Programa.

// Inicio del cdigo.


using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; // Versin definitiva: hoy 28 December 2012. namespace GridView_1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

private void Form1_Load(object sender, EventArgs e)

Pgina 14 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.


{ label1.Text = ""; label2.Text = ""; }

private void Show_DataGridView_Click(object sender, EventArgs e) { // Dos lineas siguientes: Para el DataGridView: Crear Columnas y nombres de sus columnas. int total_of_Columns = 5; string[] Columns_names = new string[] { "Product ID", "Product Name", "Product Price", "Product Category", "Product Description" }; Create_Columns_to_DataGridView(total_of_Columns, Columns_names); // ************************************************************************** // Asunto siguiente: Agregar las filas al DataGridView, con datos. string[] row = new string[] { "31", "Product 1", "1000", "Babies", "Paales" }; Add_newRow_to_DataGridView(row); row = new string[] { "32", "Product 2", "2000", "Electronics", "TV" }; Add_newRow_to_DataGridView(row); row = new string[] { "33", "Product 3", "3000", "Ladies", "clothes" }; Add_newRow_to_DataGridView(row); row = new string[] { "34", "Product 4", "4000", "Gentlemen", "clothes" }; Add_newRow_to_DataGridView(row); row = new string[] { "35", "Product 5", "5000", "Music", "CD" }; Add_newRow_to_DataGridView(row); row = new string[] { "36", "Product 6", "6000", "Movies", "DVD" }; Add_newRow_to_DataGridView(row);

Pgina 15 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.


row = new string[] { "37", "Product 7", "7000", "Toys", "Balls" }; Add_newRow_to_DataGridView(row); row = new string[] { "39", "Product 9", "9000", "Spices", "Red peppers" }; Add_newRow_to_DataGridView(row); // *************************************************************************************** }

private void Create_Columns_to_DataGridView(int cantidad, string[] Columns_names) { dataGridView1.ColumnCount = cantidad; for (int i = 0; i < cantidad; i++) { dataGridView1.Columns[i].Name = Columns_names[i]; } // El usuario no tiene permiso de agregar filas, con la siguiente // opcion en false. dataGridView1.AllowUserToAddRows = false; }

private void Add_newRow_to_DataGridView(string[] row) { dataGridView1.Rows.Add(row); }

Pgina 16 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.

private void button_Only_a_selected_row_Click(object sender, EventArgs e) { dataGridView1.MultiSelect = false; label2.Text = "Present specification: Only a row."; button_Only_a_selected_row.Hide(); button1_Allow_multiple_selection_of_rows.Show(); } private void button1_Allow_multiple_selection_of_rows_Click(object sender, EventArgs e) { dataGridView1.MultiSelect = true; label2.Text = "Present specification: Multiple rows."; button1_Allow_multiple_selection_of_rows.Hide(); button_Only_a_selected_row.Show(); } private void button1_Allow_to_Modify_data_Click(object sender, EventArgs e) { dataGridView1.ReadOnly = false; label1.Text = "Present specification: yes, to Modify"; button1_Allow_to_Modify_data.Hide(); button_Do_not_Allow_to_modify_data.Show(); } private void button_Do_not_Allow_to_modify_data_Click(object sender, EventArgs e) { dataGridView1.ReadOnly = true; label1.Text = "Present specification: Not, to Modify"; button_Do_not_Allow_to_modify_data.Hide();

Pgina 17 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.


button1_Allow_to_Modify_data.Show(); }

private void boton_Show_me_the_selected_row_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count > 0) { string datos = ""; int Cantidad_celdas = dataGridView1.SelectedRows[0].Cells.Count; for (int i = 0; i < dataGridView1.SelectedRows.Count; i++) { for (int t = 0; t < Cantidad_celdas; t++) { try { datos = datos + dataGridView1.SelectedRows[i].Cells[t].Value.ToString() + ", "; } catch { //si el usuario deja una celda vaca, // el sistema lo considera 'null', y no // como string = " ". datos = datos + " "; } // fin del try...catch }// fin del 'ciclo for' ms interno. MessageBox.Show("Fila seleccionada: " + " datos: " + datos); datos = ""; } // fin del primer 'ciclo for'. El ms externo. } else { MessageBox.Show("Usuario: actualmente, no tiene fila alguna seleccionada.");

Pgina 18 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

C# and The Unattached DataGridView, by M.C. Enrique Ruiz Daz.


} } private void button1_delete_selected_rows_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 0) { MessageBox.Show("Usuario: No se pueden borrar filas, porque actualmente no hay fila(s) seleccionadas."); return; } if (dataGridView1.SelectedRows.Count == dataGridView1.Rows.Count) { dataGridView1.Rows.Clear(); } foreach (DataGridViewRow row in dataGridView1.SelectedRows) { dataGridView1.Rows.Remove(row); } } private void button1_Allow_to_add_rows_Click(object sender, EventArgs e) { // Se otorga al usuario, la capacidad de agregar filas. MessageBox.Show("Usuario: Se le habilit la capacidad de agregar registros."); dataGridView1.AllowUserToAddRows = true; } } }

// Fin del cdigo. Pgina 19 de 19 Visit: https://sites.google.com/site/mcenriqueruizdiaz/ Also: http://sites.google.com/site/enriqueruizdiaz/

You might also like