@
sefere55
Sayfayı inceledim, Webbrowser ile (Explorer gerekçeli olsa gerek) çok yavaş. Bence chromium benzeri bir yapı kullanmak istenebilir.
Konuya gelince, burada matematiği biraz konuşturmak lazım.
Bir procedure oluşturmak istediğinizi düşünerek şöyle bir başlık olacağını değerlendiriyorum.
procedure TForm1.DoCheck( aRowIdx, aCheckIdx:Integer; aState: boolean; aWebBrowser: TWebBrowser; aDoClick:boolean = false );
Sayfada Satır nosu 1'den 15'e kadar (aRowIdx), CheckBox için de soldan sağa 1'den başlayıp 12'ye kadar ( aCheckIdx ) olduğu şekilde kodladığımızı düşündüğünüzde aRowIdx, aCheckIdx : 1,1 ile 15,12 arasında bir adresleme yapıldığını düşünebiliriz.
Burada CheckBox grupları Column Id'leri 6,7,8 ve 9 olarak üçerli gruplarda yerleştirilmiş.
Dolayısıyla şöyle bir CASE yapısı hangi kolona odaklanılacağını verecektir.
case aCheckIdx of
01..03 : LCol := 6;
04..06 : LCol := 7;
07..09 : LCol := 8;
10..12 : LCol := 9;
end;
Dolayısla matematiği de şöyle oluyor
nolu item sizin ilgilendiğiniz checkbox'u verecektir. Test edildi.
NOT: her bir Checked değeri verilmesi hızlı ancak Click işlemi ücret hesap işlemi yaptırdığından görece yavaş kalıyor.
* Bu nedenle sadece en son Checked edilme anında bir CLICK ettirmek tüm hesabı üretmek için kafi olduğundan akıllı bir yaklaşım olarak değerlendiriyorum.