DBGrid Multiselect
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.
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.
DBGrid Multiselect
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?
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
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
Ö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...
Yardım ederseniz çok sevinirim.
İyi günler..
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...
Yardım ederseniz çok sevinirim.
İyi günler..
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
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
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.
Örnek Uygulama :
http://24.234.251.34/dxforum/attachment ... Delphi.zip
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;
http://24.234.251.34/dxforum/attachment ... Delphi.zip