Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2006
Arturo Arturo is offline
Miembro
 
Registrado: sep 2004
Posts: 91
Poder: 20
Arturo Va por buen camino
como eliminar una fila del stringGrid.

saludos, disculpen pero esto ingresando datos en un stringGrid para despues ser tomados e ingresarlos por medio de sentencias sql insert... ahora no se como arregrar el asunto de una vez que tengo los datos en el stringGrid quisiera borrar alguno y este es el codigo que tengo:
Código PHP:
los encabezados son estos:

mis encabezados del   StringGrid1son de esta forma que son los 4 campos  StringGrid1.Cells[0,0]:='Id';
 
StringGrid1.Cells[1,0]:='Descripcion';
 
StringGrid1.Cells[2,0]:='Especificacion';
 
StringGrid1.Cells[3,0]:='Iva'
procedure  eliminiar; var
    
:  integer;
begin
    
if(iNumero <> - 1then begin //nada mas verifica  que haiga regsitrso en el stringgrid          if(Application.MessageBox('¿Desea eliminar el artículo  seleccionado?','Eliminar',
                                      
mb_OK +  mb_Cancel ) = smbOKthen begin
            
for := stringGrid1.Row to  stringGrid1.RowCount do begin
                stringGrid1
.Cells[0,i+1] :=  IntToStr(StrToInt(stringGrid1.Cells[0,i+1]) - 1);
                 
stringGrid1.Rows[i] := stringGrid1.Rows[i+1];
                            
end;
            if(
stringGrid1.RowCount 2then  begin
                stringGrid1
.RowCount := stringGrid1.RowCount -  1;
                          
end
            
else begin
                 stringGrid1
.Cells[0,1] := '';
                
stringGrid1.Cells[1,1] :=  '';
                
stringGrid1.Cells[2,1] := '';
                 
stringGrid1.Cells[3,1] := '';
           
end;
            
iNumero :=  iNumero 1;
              
end;
     
end;
    
txtCodigo.SetFocus;
end;

pero me borrar pero el campo del stringGridStringGrid1.Cells[0,0]:='Id'si tengo un valos por decirlo 6 me decrementa en uno me debe de respetar
gracias.
Responder Con Cita
  #2  
Antiguo 12-10-2006
Avatar de Lonidas
Lonidas Lonidas is offline
Miembro
 
Registrado: abr 2006
Posts: 35
Poder: 0
Lonidas Va por buen camino
hola.
Ósea tu tienes un stringrid así
|--|----------|-------------|---|
|id|descripcion|especificacion|iva|
|--|----------|-------------|---|
|--|----------|-------------|---|


Y lo que deseas es es eliminar todo un registro(fila)
Ahora carga un registro(fila) y guardas en la tabla o cargas varios registros(filas) y luego lo guardas en la tabla??
Responder Con Cita
  #3  
Antiguo 12-10-2006
Arturo Arturo is offline
Miembro
 
Registrado: sep 2004
Posts: 91
Poder: 20
Arturo Va por buen camino
exactamente asi es mi stringgrid, lo que pretendo es ingresarlos primero y despues guardarlo en mi tabla por medio de sql insert, o tambien hago una consulta y vuelvo a cargar los registros y selecciono y pudiera borrarlo por sql con delete.

|--|----------|-------------|---|
|id|descripcion|especificacion|iva|
|--|----------|-------------|---|
8 Printer N
|--|----------|-------------|---|
9 Puetos USB N
|--|----------|-------------|---|
10 Uno mas N

yo ingrese tres filas y por decir el numero 9 o quizas el 10 lo borre me quedara solo uno, una vez que ya esten seguro por decirlo (el usuario...) lo guardar, el procedimiento ya lo ataque y efectivamente me recorre el stringGrid con las filas.

en conclusion: para eliminar un registro ya guardado en la tabla me hace falta el procedimiento, por ahora solo he arreglado lo de eliminar una fila cuando este en el stringGrid antes de ser enviado a "guardar".

no se en donde estoy mal con el codigo antes citado.
gracias.
Responder Con Cita
  #4  
Antiguo 12-10-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
El StringGrid tiene un método protegido DeleteRow, que supongo es para eso. Digo supongo porque no lo he probado. El punto es que al estar protegido no puedes usarlo directamente pero puedes usar el truco de la desprotección:

Código Delphi [-]
type
  // declaras un descendiente 'de palo' de TStringGrid
  THackGrid = class(TStringGrid);

...

// Haces un moldeo de tipos para poder acceder al método
THackGrid(StringGrid1).DeleteRow(...);

Por otro lado te pregunto, ¿por qué no usas un DBGrid? El StringGrid es un componente muy pobre y se alentará mucho cuando tengas varios registros. Si por alguna razón no deseas usar componentes db aware como el DBGrid, podrías optar por un LIstView en modo virtual. Uno de las razones por las cuales el DBGrid es tan exitoso es precisamente porque funciona en modo virtual: el control no alamacena todos los registros del dataset sino sólo los que se alcanzan a ver en la pantalla en un momento dado y va solicitando al dataset el resto conforme se necesitan. Puedes lograr algo similar con un ListView.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Eliminar fila de un StringGrid santiago14 Varios 6 28-06-2014 18:04:02
Resaltar Fila StringGrid Caro OOP 8 29-06-2006 14:50:57
Eliminar Fila de StringGrid...Consulta BlueSteel Varios 2 07-06-2006 10:47:52
Eliminar una Fila Completa de un StringGrid BlueSteel Varios 7 22-10-2004 15:21:39
Eliminar fila intermedia en StringGrid andre OOP 0 30-06-2003 15:57:33


La franja horaria es GMT +2. Ahora son las 00:08:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi