c# - una - Obtenga las Filas seleccionadas de un DataGridView
obtener la fila seleccionada de un datagridview (1)
Primero, probablemente querrá cambiar el SelectionMode de su DataGridView a FullRowSelect. De lo contrario, los usuarios probablemente seleccionarán celdas y no filas, y el código siguiente no funcionaría. [Aunque podrías hacer algo similar con Selected Cells]
Entonces querrá comenzar con un código similar al siguiente:
foreach (DataGridViewRow r in dataGridView1.SelectedRows)
{
//Code to add selected row to new datagrid.
//Important to note that dataGridView2.Rows.Add(r) will not work
//because each row can only belong to one data grid. You''ll have
//to create a new Row with the same info for an exact copy
}
Personalmente, devolvería el bookid como una columna oculta para que esté disponible para cuando esté procesando el carro del usuario.
Si desea mover los elementos de un DataGridViewRow al otro [para que solo puedan existir en una lista a la vez], puede hacerlo.
foreach (DataGridViewRow r in dataGridView1.SelectedRows)
{
dataGridView1.Rows.Remove(r);
dataGridView2.Rows.Add(r);
}
Estoy agregando esas filas seleccionadas por el usuario en la cuadrícula "Elementos encontrados" (lado izquierdo de la captura de pantalla) a la cuadrícula "Artículos seleccionados" (lado derecho de la captura de pantalla) cuando el usuario hace clic en el botón "Agregar al carro".
La captura de pantalla: enlace http://img856.imageshack.us/img856/3015/datagridview.jpg .
El botón de búsqueda trae la lista de libros del servicio de búsqueda. Que mostraré en itemsFoundList que es DataGridView.
private void searchButton_Click( object sender, EventArgs e )
{
itemsFoundList.Columns.Clear ();
string[] list = searchServiceClient.BookSearch ( getBookName.Text, getAuthorName.Text );
itemsFoundList.Columns.Add ( "Items", "Items found:" );
displayToGrid ( itemsFoundList, list );
}
Ahora no entiendo cómo agregar las filas seleccionadas a cartList (que es un DataGridView).
private void addToCart_Click( object sender, EventArgs e ) {
//I am not getting what to write here.
}