DBGrid Multiselect

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

DBGrid Multiselect

Mesaj gönderen naile »

DbGrid'de multiselect özelliğini true yapınca ctrl tuşunu da kullanarak birden fazla satır seçilebiliyor. Ama benim yapmak istediğim ctrl kullanmadan yapmak. Mouse ile seçtiği her satırı seçecek (bir sonrakini seçince önceki de seçili olarak kalacak) seçili satırı iptal etmek için o satırı birdaha tıklayacak. (yani ctrl ile yaptığının aynısı ). Bunu Delphide gelen DBGrid ile yapabilir miyim? Başka bir grid mi kullanmalıyım?
mavsar

Mesaj gönderen mavsar »

ftp://sineadown:aSx2000@ftp.sinea.cz/pub/sinea5.zip

Adresinden download edebileceğin VCL set içindeki gridde seçme işlemine ilişkin bir çok özellik görebilirsin Ctrl ile seçme Shift ile seçme Tek mouse tıklaması ile seçme ... gibi

Yada bunu manual yapmak istiyorsanız mouse un mesela sağ tuşunu kullanarak seçsin/seçmesin istiyorsanız mouse down da mbright değerini kontrol ederekte halledebilirsin.

Mehmet
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Öncelikle teşekkürler.
Dosyayı indirdim ama install edemedim, Delphi 5 için mi?, ben Delphi 6 kullanıyorum. Diğer yöntemi deneyerek birşeyler yapmaya çalıştım. Biraz daha açabilir misiniz acaba? Bir de şöyle bir durum oldu, gridde 5-6 satırlık veri var, o satırların üzerinde mousedown olayının içine girmedi alt tarafda boşluk kısmında girdi. Anlayamadım ama... :roll:
Yardım ederseniz çok sevinirim.
İyi günler..
mavsar

Mesaj gönderen mavsar »

Merhaba,

Haftasonu çıkmadan mesajınızı görseydim kod yazıp gönderirdim fakat evde bilgisayar olmadığından haftasonu bakamadım. Yetiştirmem gereken bir program var onu bitirdikten sonra size örnek bir uygulamayı buraya yazarım. Fakat şimdilik size başka bir alternatif sunacağım. En az Quantum Grid kadar meşhur TopGrid diye bir bileşen var onu indirip kullanabilirsiniz. Delphix desteği vardır. Adresi :

http://www.objectsight.com/

http://www.objectsight.net/tgdp14nb.exe linkinde ise BDE gerekmeyen demo dosyası var öncelikli olarak bunu incelemeniz daha iyi olur diye düşünüyorum

Selamlar
mavsar

Mesaj gönderen mavsar »

Cevap işinize yaramamış olabilir diye kısa bir araştırma yaptım. Örnek bir kod buldum. Bu Qgrid için yazılmış bir örnek incelerseniz faydalı olur. En alttada bu kodun örnek projesinin kısayolunu yolluyorum. Umarım işinize yarar.

Kod: Tümünü seç

// Delphi code 
procedure TMainForm.GridMouseMove(Sender: TObject; Shift: TShiftState; X, 
  Y: Integer); 
var 
  HitInfo: TdxTreeListHitInfo; 
begin 
  if Shift = [ssLeft] then 
    with Sender as TCustomdxTreeList do 
    begin 
      HitInfo := GetHitInfo(Point(X, Y)); 
      if (HitInfo.hitType = htOutside) and 
        (X > Left) and (X < Left + ClientWidth) then 
      begin 
        if Y < 0 then 
          HitInfo.Node := FocusedNode.GetPrev 
        else 
          HitInfo.Node := FocusedNode.GetNext; 
      end; 
      SelectNodes(StartNode, HitInfo.Node); 
    end; 
end; 
Örnek Uygulama :
http://24.234.251.34/dxforum/attachment ... Delphi.zip
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Uğraşlarınız için teşekkür ederim, henüz yapamadım maalesef :( Ama anladımki para ile component alsam olay çabucak çözülecek :) Biraz daha uğraşacağım. Tekrar teşekkürler..
Cevapla