DataGridViewComboBoxColumn

13/09/2006 - 22:23 por Sebas | Informe spam
Hola!!

Tengo una duda con el control DataGridView de un winform.
Yo le agrego una columna donde cada celda es un comboBox cargado siempre con
una DataTable, de la siguiente manera:

DataGridViewComboBoxColumn
cbo = new DataGridViewComboBoxColumn();
cbo.DataSource = dt; //DataTable
cbo.DisplayMember = "Usuario";
cbo.ValueMember = "IDUsuario";
dataGridView1.Columns.Insert(0, cbo);

Ahora, no encuentro como hacer para leer el valor que se selecciono en el
combo de cada celda.
Busco algo asi como el metodo FindControl() que existe en las aplicaciones
web.
Con saber como hacer el SelectIndex me alcanza.

Se entiende? Alguien ha hecho lo que quiero hacer?

Muchas Gracias!

Preguntas similare

Leer las respuestas

#1 Miguelo
14/09/2006 - 15:52 | Informe spam
Recorre el datagrid y cuando estes en la celda de tipo combo convierte la
celda a
DataGridViewComboBoxCell y obten el valor como si fuera un combo normal.

Por ejemplo:

if (grdDatos.CurrentCell.ColumnIndex == 4)
{
DataGridViewComboBoxCell dgcb =
(DataGridViewComboBoxCell)datagrid[datagrid.CurrentCell.ColumnIndex,
datagrid.CurrentCell.RowIndex];
MessageBox.Show(dgcb.Value.ToString());
}


Si metes este codigo en un botón y en la columna 4 tienes un combo te
mostrará su valor si la seleccionas y le das al botón.

Un saludo

mafraeb
"Sebas" wrote:

Hola!!

Tengo una duda con el control DataGridView de un winform.
Yo le agrego una columna donde cada celda es un comboBox cargado siempre con
una DataTable, de la siguiente manera:

DataGridViewComboBoxColumn
cbo = new DataGridViewComboBoxColumn();
cbo.DataSource = dt; //DataTable
cbo.DisplayMember = "Usuario";
cbo.ValueMember = "IDUsuario";
dataGridView1.Columns.Insert(0, cbo);

Ahora, no encuentro como hacer para leer el valor que se selecciono en el
combo de cada celda.
Busco algo asi como el metodo FindControl() que existe en las aplicaciones
web.
Con saber como hacer el SelectIndex me alcanza.

Se entiende? Alguien ha hecho lo que quiero hacer?

Muchas Gracias!
Respuesta Responder a este mensaje
#2 Sebas
14/09/2006 - 17:01 | Informe spam
Ante todo gracias por la respuesta.
Pero lo que busco es un poco mas complicado que eso, yo busco acceder a
TODAS las propiedades del combo (SelectedIndex, SelectedValue, por ejemplo).
Todavia no encontre un foro que me pueda ayudar...
Mi intencion es, una vez cargado el combo, pero antes de mostrarselo al
usuario, modificar el SelectedValue para cada combo de cada fila del
DataGridView.

Sigo buscando
Gracias!

"Miguelo" escribió:

Recorre el datagrid y cuando estes en la celda de tipo combo convierte la
celda a
DataGridViewComboBoxCell y obten el valor como si fuera un combo normal.

Por ejemplo:

if (grdDatos.CurrentCell.ColumnIndex == 4)
{
DataGridViewComboBoxCell dgcb =
(DataGridViewComboBoxCell)datagrid[datagrid.CurrentCell.ColumnIndex,
datagrid.CurrentCell.RowIndex];
MessageBox.Show(dgcb.Value.ToString());
}


Si metes este codigo en un botón y en la columna 4 tienes un combo te
mostrará su valor si la seleccionas y le das al botón.

Un saludo

mafraeb
"Sebas" wrote:

> Hola!!
>
> Tengo una duda con el control DataGridView de un winform.
> Yo le agrego una columna donde cada celda es un comboBox cargado siempre con
> una DataTable, de la siguiente manera:
>
> DataGridViewComboBoxColumn
> cbo = new DataGridViewComboBoxColumn();
> cbo.DataSource = dt; //DataTable
> cbo.DisplayMember = "Usuario";
> cbo.ValueMember = "IDUsuario";
> dataGridView1.Columns.Insert(0, cbo);
>
> Ahora, no encuentro como hacer para leer el valor que se selecciono en el
> combo de cada celda.
> Busco algo asi como el metodo FindControl() que existe en las aplicaciones
> web.
> Con saber como hacer el SelectIndex me alcanza.
>
> Se entiende? Alguien ha hecho lo que quiero hacer?
>
> Muchas Gracias!
Respuesta Responder a este mensaje
#3 Sashka
15/09/2006 - 18:02 | Informe spam
Usa el evento EditingControlShowing

http://forums.microsoft.com/MSDN/Sh...p;SiteID=1

Sashka

"Sebas" escribió en el mensaje
news:
Ante todo gracias por la respuesta.
Pero lo que busco es un poco mas complicado que eso, yo busco acceder a
TODAS las propiedades del combo (SelectedIndex, SelectedValue, por
ejemplo).
Todavia no encontre un foro que me pueda ayudar...
Mi intencion es, una vez cargado el combo, pero antes de mostrarselo al
usuario, modificar el SelectedValue para cada combo de cada fila del
DataGridView.

Sigo buscando
Gracias!

"Miguelo" escribió:

Recorre el datagrid y cuando estes en la celda de tipo combo convierte la
celda a
DataGridViewComboBoxCell y obten el valor como si fuera un combo normal.

Por ejemplo:

if (grdDatos.CurrentCell.ColumnIndex == 4)
{
DataGridViewComboBoxCell dgcb >> (DataGridViewComboBoxCell)datagrid[datagrid.CurrentCell.ColumnIndex,
datagrid.CurrentCell.RowIndex];
MessageBox.Show(dgcb.Value.ToString());
}


Si metes este codigo en un botón y en la columna 4 tienes un combo te
mostrará su valor si la seleccionas y le das al botón.

Un saludo

mafraeb
"Sebas" wrote:

> Hola!!
>
> Tengo una duda con el control DataGridView de un winform.
> Yo le agrego una columna donde cada celda es un comboBox cargado
> siempre con
> una DataTable, de la siguiente manera:
>
> DataGridViewComboBoxColumn
> cbo = new DataGridViewComboBoxColumn();
> cbo.DataSource = dt; //DataTable
> cbo.DisplayMember = "Usuario";
> cbo.ValueMember = "IDUsuario";
> dataGridView1.Columns.Insert(0, cbo);
>
> Ahora, no encuentro como hacer para leer el valor que se selecciono en
> el
> combo de cada celda.
> Busco algo asi como el metodo FindControl() que existe en las
> aplicaciones
> web.
> Con saber como hacer el SelectIndex me alcanza.
>
> Se entiende? Alguien ha hecho lo que quiero hacer?
>
> Muchas Gracias!



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida