Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

datagridview y columna combobox

673 views
Skip to first unread message

david

unread,
Jan 17, 2008, 2:36:02 AM1/17/08
to
Hola estoy desarrollando en vs 2005 y tengo en un formulario un datagridview
con 6 columnas una de las cuales es un combobox. Quiero rellenarlo mediante
una consulta en el que lleno un datareader, os pongo el ejemplo:

comandosql = New SqlCommand("select
numero_contrato,codigo_cliente,ano,mes,alquiler,comunidad,Observaciones,
cobrado from pagos where numero_contrato=" + contrato, Conn)
comandosql.CommandType = CommandType.Text
comandosql.Transaction = myTrans
dr = comandosql.ExecuteReader
Me.DataGridView1.Columns(0).Visible = False
Me.DataGridView1.Columns(1).Visible = False

While dr.Read
Me.DataGridView1.Rows.Add(dr.Item(0).ToString, dr.Item(1).ToString,
dr.Item(2).ToString, dr.Item(3).ToString, dr.Item(4).ToString,
dr.Item(5).ToString, dr.Item(6).ToString, dr.Item(7).ToString)
End While

dr.Close()

Pero cuando intento añadir las filas me da el siguiente error :
Se produjo la siguiente excepción en datagridview:
system.argumentexception: El valor de datagridviewcomboboxcell no es valido.

Me podeis ayudar?

SoftJaén

unread,
Jan 17, 2008, 10:05:29 AM1/17/08
to
"david" escribió:

> Hola estoy desarrollando en vs 2005 y tengo en un formulario un
> datagridview con 6 columnas una de las cuales es un combobox.
> Quiero rellenarlo mediante una consulta en el que lleno un datareader
>

> Pero cuando intento añadir las filas me da el siguiente error :
> Se produjo la siguiente excepción en datagridview:
> system.argumentexception: El valor de datagridviewcomboboxcell no es
> valido.
>
> Me podeis ayudar?

Sin conocer cómo está configurado la columna del tipo
«DataGridViewComboBoxColumn», es complicado saber el motivo para que
obtengas la excepción que nos comentas.

De todas maneras, procura que la propiedad «ValueMember» del control se
encuentre asignada de forma correcta:

With DataGridViewTextBoxColumn1
.DataSource = objetoDataTable
.DisplayMember = NombreCampo
.ValueMember = NombreCampo
End With

De esta manera no hace falta que abras y recorras un objeto DataReader; si
el control DataGridView se encuentra enlazado a un objeto DataTable, por
ejemplo, el control ComboBox se rellenaría automáticamente.

--
Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

0 new messages