StringGrid de seçili olan satırın silinmesi ve tüm satırları
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
StringGrid de seçili olan satırın silinmesi ve tüm satırları
Merhaba arkadaşlar stringgridde seçili olan satırı nasıl sildirebilirim stringgriddeki en alttaki satır değil selected seçili olan satır ve birde şöyle sorunum var programı kullanan kişi satışlar formunda çıkıp yenden satışlar formuna girince yinede burda
önceden o stringgride yolladığı veriler gozukuyor (programı kapatmadığı surece) peki ben satışlar formuna yollayan butona yada satışlar formunun çıkışına ne yazmalıyım ki en üstteki satır hariç tüm satırları silecek (en üst satır silmemeliyim en üst satırda
genel bilgiler yazıyor)
Yardımlarınız için teşekkür ederim..
önceden o stringgride yolladığı veriler gozukuyor (programı kapatmadığı surece) peki ben satışlar formuna yollayan butona yada satışlar formunun çıkışına ne yazmalıyım ki en üstteki satır hariç tüm satırları silecek (en üst satır silmemeliyim en üst satırda
genel bilgiler yazıyor)
Yardımlarınız için teşekkür ederim..
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
verileri nereye yazıyorsun nasıl aktarıyorsun bilmeden cevap vermek zor
sunu bir incele
sunu bir incele
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// StringGrid1e veri aktar
procedure TForm1.FormCreate(Sender: TObject);
var
i,j:integer;
begin
for i := 0 to StringGrid1.RowCount -1 do
begin
for j := 0 to StringGrid1.ColCount - 1 do
begin
StringGrid1.Cells[j,i] := IntToStr(j)+','+IntToStr(i);
end;
end;
end;
//secili satırı silicek procedure
procedure DeleteStringGridRow1(AStringGrid:TStringGrid;Arow:Integer);
var
i,j:integer;
begin
for i := Arow to AStringGrid.RowCount - 2 do
begin
for j := 0 to AStringGrid.ColCount - 1 do
begin
AStringGrid.Cells[j,i] := AStringGrid.Cells[j,i+1];
end;
end;
AStringGrid.RowCount := AStringGrid.RowCount-1;
end;
//StringGrid1 satır secildikten sonra bu butona tıklayarak secimi sil
procedure TForm1.Button1Click(Sender: TObject);
var
SelectedRow:integer;
begin
//button1 tıklandıgında secili satırı silmek için DeleteStringGridRow1 cagrılır
SelectedRow := StringGrid1.Row;
DeleteStringGridRow1(StringGrid1,SelectedRow);
end;
end.
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
StringGridlerde satır silme fonksiyonu olmadığından aşağıdaki yöntemi kullanabilirsiniz:
Kaynak: http://www.delphi3000.com/article.asp?ID=819
Bu sitede silme özelliği olan StringGrid yapmayıda anlatıyor.
StringGrid'in row özelliğini 2 yaparsan diğer satırlar silinecektir, 1. satırıda
komutu ile temizleyebilirsin.
Kod: Tümünü seç
procedure DeleteRow(yourStringGrid: TStringGrid; ARow: Integer);
var i, j: Integer;
begin
with yourStringGrid do
begin
for i := ARow to RowCount-2 do
for j := 0 to ColCount-1 do
Cells[j, i] := Cells[j, i+1];
RowCount := RowCount - 1
end;
end;
Bu sitede silme özelliği olan StringGrid yapmayıda anlatıyor.
StringGrid'in row özelliğini 2 yaparsan diğer satırlar silinecektir, 1. satırıda
Kod: Tümünü seç
StringGrid1.Rows[1].Clear;
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
Procedure u aşağıdaki gibi değiştir...
Kod: Tümünü seç
procedure DeleteRow(yourStringGrid: TStringGrid; ARow: Integer);
var i, j: Integer;
begin
if Arow=0 then exit;
with yourStringGrid do
begin
for i := ARow to RowCount-2 do
for j := 0 to ColCount-1 do
Cells[j, i] := Cells[j, i+1];
RowCount := RowCount - 1
end;
end;
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
Yardım Lütfen..
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
Arkadaşlar saolun verdiğiniz kodlar sayesinde hallettim şu şekilde yaptım ;
Teşekkürler..
Kod: Tümünü seç
var i, j: Integer;
begin
if StringGrid1.row=1 then
begin
StringGrid1.Rows[1].Clear;
exit;
end;
with StringGrid1 do
begin
for i := Row to RowCount-2 do
for j := 0 to ColCount-1 do
Cells[j, i] := Cells[j, i+1];
RowCount := RowCount - 1
end;
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
Ardakaşlar şuanda şöyle bir sorunum var seçilen satırı düzgün sildiriyorum ilk satırıda sildirirken verilerini 0 yapıyorum böylece işlem hatası olmuyor ancak şunu halletmem lazım hata veriyor ;
Stringgridde seçili olan satırın içi tamamen boşsa onu ellemeyecek silmeyecek çünkü en altta bi boş satır var onuda siliyor bu seçili olanı sildirme kodu bu sefer soldaki dbgridden ürün eklerken hata veriyor
Yani napıp edip şunu yapmam lazım ;
stringgridde seçili olan satırın içi boşsa o satırı silmeyecek bir turlu yapamadım deli oldum yardımlarınızı bekliyorum...
Stringgridde seçili olan satırın içi tamamen boşsa onu ellemeyecek silmeyecek çünkü en altta bi boş satır var onuda siliyor bu seçili olanı sildirme kodu bu sefer soldaki dbgridden ürün eklerken hata veriyor
Yani napıp edip şunu yapmam lazım ;
stringgridde seçili olan satırın içi boşsa o satırı silmeyecek bir turlu yapamadım deli oldum yardımlarınızı bekliyorum...
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
Arkadaşlar yarcım edecek varmı acaba yardımlarınızı bekliyorum acilen
Sabahdan beri hala yapamadım şu şeyi deli olcam
Gözüm bi yandanda burda sabahtan beri hala yardım yok
Sabahdan beri hala yapamadım şu şeyi deli olcam
Gözüm bi yandanda burda sabahtan beri hala yardım yok
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
s.a.
-S:ne yapmak istiyorsun?
-C:stringgridde seçili olan satırın içi boşsa o satırı silmeyecek.
-S:Satırın boş olup olmadığını nerden anlıyorsun?
-C:altta bi boş satır var
-S:Başka satırın boş olup olmadığı nasıl anlaşılır?
-C:.............
(ilk sütundaki değeri alırım if ile bakarım boşmu dolumu diye)
kolay gelsin.
not:kodlarda yazım hatası olabilir. afaki yazdım.
-S:ne yapmak istiyorsun?
-C:stringgridde seçili olan satırın içi boşsa o satırı silmeyecek.
-S:Satırın boş olup olmadığını nerden anlıyorsun?
-C:altta bi boş satır var
Kod: Tümünü seç
if stringgrid.row=stringgrid.rowcount-1 then .....;
-C:.............
(ilk sütundaki değeri alırım if ile bakarım boşmu dolumu diye)
Kod: Tümünü seç
if stringgrid.cells[a,b]='' then ......;
not:kodlarda yazım hatası olabilir. afaki yazdım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: StringGrid de seçili olan satırın silinmesi ve tüm satırları
Bir grid satırının boş olup olmadığını başka başlıkta da sormuştun. 2 gün önce verilen bu kodlar bir satırın boş olduğunu tespit eder.
-> viewtopic.php?f=2&t=25586&p=144211#p144211
Ayrıca başka yerlerden gelecek cevaplara muhtaç bir şekilde yoluna devam edemezsin.
-> viewtopic.php?f=2&t=25586&p=144211#p144211
Ayrıca başka yerlerden gelecek cevaplara muhtaç bir şekilde yoluna devam edemezsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .