...
hay alguna manera de hacer esto pero mas simplificado?
...
Es que no es muy explicativo el código puesto...
Por ejemplo si solo usas celda4, para que asignar valores desde la 1 a la 5?, ó para qué usar row, si siempre es la columna 0?
Tampoco tiene sentido usar strings, para asignar el contenido de un textbox, si lo que aloja precisamente de interés un textbox es un string...
Usa mejor:
dataGridView1.Rows[0].cell(4).value.ToString
Entonces todo ese código (del m,ensaje previo, estoy con prisas no he leído tod) quedaría tal que así:
if (TextBox1.Text.Length == 0 )
TA.UpdateQuery1( txtACTUALIZAR.Text, dataGridView1.Rows[0].cell(4).value.ToString, txtCONTRATO.Text);
else {
TA.UpdateQuery1( txtACTUALIZAR.Text, textBox1.Tex, txtCONTRATO.Text);
}
Solo me tendría que actualizar la celda del datagrid en la que haga click.
De la manera que hos he facilitado me habce bien pero claro, mi tabla tiene 55 columnas y no quiero poner 55 textbox. mi idea es poner 1 texbox y que ese texbox valga para todas las celdas. Por eso necesito que el textbox se enlace con la celda seleccionada.
y solo con la celda seleccionada.
¿Algún consejillo?
El datagridview, tiene varios eventos... CellMouseClick, CellContentClick, etc... usa el que más te convenga.
Por ejemplo (ahora tengo delante el vb2010),
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
messagebox.show( e.ToString()) //incluso el tostring se puede omitir, dado que la celda es de tipo string (si el ColumnType está declarado de tipo string)...
End Sub