Thread Eine Zeile aus einem Tk::Table-Objekt entfernen (2 answers)
Opened by AlexTheBird at 2010-05-24 07:45

MatthiasW
 2010-05-24 10:29
#137584 #137584
User since
2008-01-27
367 Artikel
BenutzerIn
[default_avatar]
Im Quellcode des Moduls habe ich mir mal die clear() Methode angesehen:
Code (perl): (dl )
1
2
3
4
5
6
7
8
[...]
        foreach my $c (1 .. $cols) {
            my $old = $self->get( $r, $c );
            next unless $old;
            $self->LostSlave($old);
            $old->destroy;
        }
[...]

Dort wird also über die Zellen iteriert, welche gelöscht werden sollen, und dann mittels LostSlave() und destroy() ein Widget zerstört, wenn sich dort eines befindet.

In einer eigenen Methode:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
sub Tk::Table::raze_row {
    my( $self, $row ) = @_;
    
    for my $col ( 1 .. $self->cget('-columns') ) {
        if ( my $w = $self->get( $row, $col ) ) {
            $self->LostSlave($w);
            $w->destroy;
        } # if
    } # for
} # Tk::Table::raze_row

$table->raze_row(3); # dritte zeile löschen


MfG
perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'

View full thread Eine Zeile aus einem Tk::Table-Objekt entfernen