FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Busqueda y visualizacion en DBGrid seleccionado solo Fila
Hola!
Tengo un formulario en el cual esta la Ttabla de tados de universitario con los campos IdE, NumeroRegistro, carnet Identidad, Nombres, apellidos, fechas, edades, etc...Tinscripcion. Esto lo puse en el Form1(=Facademico) en un DBgrid1, y por medio de un boton llamo a otro form2(Finscripcion) donde ingreso los datos del universitario y realizo las demas opciones sin problem. Ahora en lo que tengo problemas es... Necesito realizar una busqueda , este boton lo tengo en el Form1(Facademico) la busqueda quiero que lo realice por cualquier medio de los campos de Universitario, si lo encuentro quiero que en el DBgrid1 me lo "seleccione". Cabe mensionar que el DBgrid , solo es visualizacion, ya que las modificaciones lo puedo hacer en el Form2(Finscripcion.). Solo quiero que me lo seleccione toda la fila del DBgridsi es que encuentro el dato buscado. La busqueda lo estuve haciendo por medio de otro Form3(Fbusqueda). Ya que con esta buscqueda puedo saber si fue inscrito o aun no. Y si esta inscrito pues quiero saber sus otras dependencias. Me explico, Tuniversitario lleva varias materias de varios semestres o años. Ejemplo. Juan Perez, llevaria Programacion I del 1º semestre, Fisica II del 2º semestre, ingles del 1º semestre, etc...de una carrera en especifico. Y asi sucesivamente... Es decir en Facademico, tengo DbGrid1(visualizo los inscritos universitario), en el DBgrid1, que tb se encuentra en el mismo Facademico, se visualiza las materias que llevara, ingreso las materias a través de otro Form4... Bueno una vez encontrado al Universitario que fue inscrito, pues tambien debo buscar por decir, ejemplo: Por medio de su CodigoMateria o NombreMateria, etc y si lo encuentra pues quiero que tb en el DBGrid2 [b]me lo seleccione solo la fila y de esta manera poder realizar las modificaciones o simplemente imprimir sus campos de esa materia con el nombre del Universitario etc.... Estoy usando SQL server 2000 y Delphi. Si usaria StringGrid su codigo lo hice asi...Pero yo quiero que en el DBgrid2 solo me seleccione... Ejemplo, si buscaria por medio de su Carnet Identidad: procedure TFacademico.BuscarClick(Sender: TObject); begin if not (DM.Tinscripcion.Locate('CiE',Edit1.Text,[loPartialKey,loCaseInsensitive])) and not(Edit1.Text = ' ') then if messageDlg('No se encontro el registro..Buscar de nuevo?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then Edit1.SetFocus else close; if DM.Tinscripcion.Locate('CiE',Edit1.Text,[loPartialKey,loCaseInsensitive]) then begin sg.Cells[1,1]:=DM.Tinscripcion['NumReg']; sg.Cells[1,2]:=DM.Tinscripcion['CiE']; sg.Cells[1,3]:=DM.Tinscripcion['NomE'; sg.Cells[1,4]:=DM.Tinscripcion['FinscripcionE']; sg.Cells[1,5]:=DM.Tinscripcion['CarreraE']; sg.Cells[1,6]:=DM.Tinscripcion['TiempoE']; sg.Cells[1,7]:=DM.Tinscripcion['ModalidadE']; sg.Cells[1,8]:=DM.Tinscripcion['estadoE']; sg.Cells[1,9]:=DM.Tinscripcion['DeptoE']; sg.Cells[1,10]:=DM.Tinscripcion['LugarE']; sg.Cells[1,11]:=DM.Tinscripcion['CalleE']; end else begin sg.Cells[1,1]:= ''; sg.Cells[1,2]:= ''; sg.Cells[1,3]:= ''; sg.Cells[1,4]:= ''; sg.Cells[1,5]:= ''; sg.Cells[1,6]:= ''; sg.Cells[1,7]:= ''; sg.Cells[1,8]:= ''; sg.Cells[1,9]:= ''; sg.Cells[1,10]:= ''; sg.Cells[1,11]:= ''; end; end; Aqui me visualiza en una columna sus datos, pero yo quiero que me seleccione/visualice en el DBGrid2 en la fila, cabe mensionar que tengo vaaarios universitarios registrados. Disculpen que sea tan extensa.Gracias! Última edición por sisne fecha: 21-03-2010 a las 20:37:12. Razón: No salude y me disculpo. Lo siento |
#2
|
|||
|
|||
Hola.
Te recomiendo que leas cómo usar las etiquetas vB para que nos sea más fácil entenderte. No es difícil. Otro tip muy bueno (para el foro y la vida real) es decir Hola cuando quieras hablar con alguien. Saludos! |
#3
|
||||
|
||||
Hola sisne.
Si tenes conectada la busqueda al mismo DataSource que el DBGrid, en este tendría que quedar seleccionada la fila elegida en la búsqueda. Ahora si como decis lo único que queres es que se seleccione la fila entera y no sólo una columna en el DBGrid, tenes que poner: DBGrid1.Options.dgRowSelect:= True; (lo podes hacer desde el Object inspector) Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 22-03-2010 a las 01:36:33. |
#4
|
||||
|
||||
Hola!
Tengo una Form1 principal y otro Form2 de busqueda. En el principal esta un DBgrid1 donde estan se visualizan todos los datos y en sus opciones tb lo active para que toda la fila se seleccione. Entonces voy al Form2 donde realizo una busqueda, digamos por medio de CarnetIdentidad y quiero que una vez encontrado el dato quiero que en el Form1 en el DBgrid1 me visualice en toda la fila el dato encontrado y si se pudiese colocar de otro color, ya que por defecto es de color azul seleccionado. |
#5
|
||||
|
||||
Holas!
Creo que no fui muy clara.... Comentarles que ya encontré la solución, coloque el sigte codigo después de realizar la búsqueda respectiva, al momento de volver al FormPrincipal y me selecciona toda la fila del DBgrid: Código:
Facademico.DBGrid.Fields[1].focuscontrol; Graaaacias por su cooperación! Última edición por sisne fecha: 23-03-2010 a las 22:56:08. Razón: Dudas sobre colorear una fila.. |
#6
|
||||
|
||||
Hola de nuevo.
Tal como te dije anteriormente, para que se 'pinte' sólo una fila, tenés que poner a True la propiedad dgRowSelect, lo que hace que la fila seleccionada esté coloreada. Ahora para cambiar el color de la selección colocá este código en el evento DrawColumnCell del DBGrid: Código:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if gdSelected in State then with DBGrid1 do begin Canvas.brush.Color:= clRed; // Fondo rojo ... Canvas.Font.Color:= clWhite; // Texto blanco... DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end;
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Renglon seleccionado en DBGRID | advancexz | Gráficos | 1 | 28-06-2008 00:53:45 |
¿Como Eliminar de la Bd el item seleccionado en un DbGrid? | day_eli | Conexión con bases de datos | 1 | 09-02-2007 16:36:33 |
como imprimir solo una fila de una tabla?? | ing.cagn | Impresión | 4 | 17-01-2006 00:21:21 |
Busqueda segun radiobutton seleccionado | JoanKa | Varios | 11 | 25-01-2005 18:31:48 |
|