Buscar Valor en grid

15/03/2008 - 00:03 por Javier Lozano | Informe spam
Saludos Compañeros

He creado un user control que se componete de un combobox y un datagridview.
El funcionmineto consiste en que he reemplazado la lista desplegable del
combobox por el datagrid, el cual tiene dos columnas , una descripcion y un
codigo, el orden en el grid es por descripcion (columna1). Sin embargo, el
valor que se debe buscar es el del codigo, La situacion es que si busco
usando el siguiente codigo:

DataView dv =
((DataSet)((BindingSource)this.DataGridView1.DataSource).DataSource).Tables[0].DefaultView;
dv.Sort = "Código";
ocupacionSunatSelectAllBindingSource.Position = dv.Find("012001");

Esto me devuelve la posicion del record en el bindinsource - que esta
ordenado por codigo . Pero ese valor no corresponde con el datagridview que
esta ordenado por DEscripcion. EL datagridview siempre debe aparecer
ordenado por Descripcion.

Espero puedan ayudarme..

Saludos

Javier Lozano
Lima-Peru
 

Leer las respuestas

#1 jorge
21/03/2008 - 18:04 | Informe spam
Xavier La posicion del Grid solo coincidira con la del Dataview solo si
ambos mantienen la misma columna para ordenar los datos.

Podrias explicar un poco mas al detalle el escenario?
pq buscas por codigo? pq no por descripcion?
Si el grid esta ordenado por Description pq necesitas buscar por codigo? el
usuario tendra que navegar el grid a partir de esa posicion en adelante?
solo querra ver los registros con ese codigo nada mas ? (si asi fuera un
filter seria mejor que un find)
que tipo de relacion existe en el codigo y los datos mostrados en el grid? 1
a muchos? 1 a uno?
en el caso extremo. siempre te queda el "foreach "

por cada fila en el dataView
si la celda("Codigo")==mycodigo
grid.Row = fila
salir (ya estas posicionado)
end si
end

pero si son muchos registros no te lo recomiendo.

saludos.

"Javier Lozano" wrote in message
news:%
Saludos Compañeros

He creado un user control que se componete de un combobox y un
datagridview. El funcionmineto consiste en que he reemplazado la lista
desplegable del combobox por el datagrid, el cual tiene dos columnas , una
descripcion y un codigo, el orden en el grid es por descripcion
(columna1). Sin embargo, el valor que se debe buscar es el del codigo, La
situacion es que si busco usando el siguiente codigo:

DataView dv =
((DataSet)((BindingSource)this.DataGridView1.DataSource).DataSource).Tables[0].DefaultView;
dv.Sort = "Código";
ocupacionSunatSelectAllBindingSource.Position = dv.Find("012001");

Esto me devuelve la posicion del record en el bindinsource - que esta
ordenado por codigo . Pero ese valor no corresponde con el datagridview
que esta ordenado por DEscripcion. EL datagridview siempre debe aparecer
ordenado por Descripcion.

Espero puedan ayudarme..

Saludos

Javier Lozano
Lima-Peru



Preguntas similares