Hallo!
Ich habe da eine Tabelle aus der man eine Spalte markeiren können soll. Die Tabelle habe ich anstatt der Listbox genommen, weil man da eine schöndere Übersicht hat.
Wenn jetzt aber die Titelzeile angeklickt wird wird die ganze Tabelle markiert und mein Programm für jede Zeile mit einem Event belästigt, der eigentlich gernicht ausgeführt werden sollte.
Hier kurz ein Sniplet zum besseren Verständnis:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/Perl/bin/perl
use strict;
use warnings;
use Tk;
use Tk::TableMatrix::Spreadsheet;
my $mw = Tk::MainWindow->new();
my %tabellenInhalte = ();
my $tab = $mw->Scrolled(
'Spreadsheet',
-scrollbars => 'e',
-titlerows => 1,
-titlecols => 0,
-rows => 10,
-cols => 3,
-variable => \%tabellenInhalte,
-selectmode => 'extended',
-selecttype => 'row',
-bg => 'white',
-rowtagcommand => sub {
my $zeile = shift;
return unless defined $zeile;
# markiere den selektioerten Eintrag
print "markierte Zeile: $zeile\n";
},
)->pack(-fill => 'x',);
$mw->MainLoop();
Im Prinzpt will ich nur eine ordentlich aussehende tabellenartige Auswahlliste. EVentuell ist das auch einfach das falsche Widget dafür, wenn jemand ein besseres weis möchte er sich bitte melden :)
Nun meine Idee war jetzt, die Titelzeilen, die ich ohnehin mit einer Sortoerfunktion für die Spalten belegen möchte so mit einem Event zu belegen, dass nichts markeirt wird (im Moment wird ja die ganze Tabelle merkiert).
Jemand eine Idee?
Grüße, pktm