Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5298[/thread]

Tk::TableMatrix Titelzeile nicht markieren lassen: wie verhindert man das



<< >> 2 Einträge, 1 Seite
pktm
 2007-02-22 19:39
#46234 #46234
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
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:
Code: (dl )
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
http://www.intergastro-service.de (mein erstes CMS :) )
PerlProfi
 2007-02-23 17:23
#46235 #46235
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Hast du schon mal probiert einfach nachzuschauen ob die markierte Zeile, die Titelzeile ist?
Eventuell folgendes in dein callback mit einbauen:
return undef if $zeile < 1;

edit:
Vielleicht funktioniert auch:
return 'title' if $zeile < 1;

MfG\n\n

<!--EDIT|PerlProfi|1172244468-->
<< >> 2 Einträge, 1 Seite



View all threads created 2007-02-22 19:39.