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

BrowseEntry -browsecmd: oder wie Update ich Enry Felder.



<< >> 7 Einträge, 1 Seite
zipster
 2006-05-18 20:22
#45469 #45469
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Hi ich mal wieder :(

ich habe an einem BrowseEntry ein browsecmd eingefügt und wollte damit erreichen das der Inhalt eines Hashes verändert wird.
Das funktioniert so weit auch schon. Mein Problem ist jetzt nur das es dem Interface mal komplett egal ist. Auch wenn ich folgendes ausführe.
Code: (dl )
$hauptfenster->update;

Ich habe das Update auch schon auf das Widget direkt ausgeführt und es funktioniert genauso wenig.

Hier noch mal ein wenig Code...
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
31
32
33
34
35
...

my $ref_old = &start_frag_nach($dbh, "1");
...
my $frame_top_menu = $hauptfenster->Frame(
-borderwidth => "2")
->grid(-sticky => "nw");
$frame_top_menu->BrowseEntry(-label => "Verwalten von:",
-variable => \$ref_gruppe->[0],
-choices => \@{$ref_gruppe},
-colorstate => 'white',
-browsecmd=> sub{$ref_old = &start_frag_nach($dbh, "2");$hauptfenster->update;print "$ref_old->{nachname}";})
->grid(
...
sub start_frag_nach{
my ($dbh, $id) = @_;
my ($ref_old );
$ref_old = &frag_nach($dbh, "select * from kontakte where ID = ?", $id, "fetchrow_hashref()",);
return (\%{$ref_old});
}
sub frag_nach{
my ($dbh, $sql, $id, $befehl, $eintrag, $typ_in_wert, $typ, $tabellen_name, $spalten_name, $index_name, ) = @_;
my ($sth, $ref, );
$sth = $dbh->prepare( "$sql" );
$sth->execute ($id);
$ref = $sth->fetchrow_hashref();
$sth->finish ();
if (defined ($eintrag)){
eintrag_hinzu(\%{$ref});
}
if (defined ($typ_in_wert)){
#$ref_adresse = typ_in_wert_wandeln(\%{$ref}, "adresstyp_id", "adresstyp", $dbh, "beschreibung", "id");
}
return (\%{$ref});
}


Gruß
Seri aka Zipster
ptk
 2006-05-19 00:40
#45470 #45470
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich weiß nicht, was du genau meinst. Geht es um $ref_old? Das wird doch nirgendwo im Code benutzt?
zipster
 2006-05-19 10:19
#45471 #45471
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Ja geht es, hier der Code wo $ref_old benutzt wird.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
$frame_kontakte_haupt = $hauptfenster->Frame(
-borderwidth => "2")
->grid(-sticky => "nw");
...
$frame_kontakte_haupt->Button(-text => '<<', -command => [\&eintrag_zurueck])->grid(
$name_test = $frame_kontakte_haupt->Label(-text => "Nachname:"),
$frame_kontakte_haupt->Entry(-textvariable=> \$ref_old->{nachname}),
$frame_kontakte_haupt->Label(-text => "Vornamen:"),
$frame_kontakte_haupt->Entry(-textvariable=> \$ref_old->{vorname}),
$frame_kontakte_haupt->Button(-text => '>>', -command => [\&eintrag_vor]),
$frame_kontakte_haupt->Label(-text => "Zimmer / Bett:"),
$frame_kontakte_haupt->BrowseEntry( -variable => \$ref_old->{zimmerbett}, -colorstate => 'white',),
$frame_kontakte_haupt->Label(-image => $potrait, -width => "90", -height => "120"),
-sticky => "w");
my @values = lies_spalten_werte ($dbh, "kontakte", "anrede");
ptk
 2006-05-19 10:37
#45472 #45472
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Hier musst du darauf achten, dass du nicht $ref_old als ganzes auswechselst, sondern nur die einzelnen Elemente von $ref_old.
zipster
 2006-05-19 11:04
#45473 #45473
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Es soll aber alles geändert werden.

Ich will nämlich in meinem "Programm" eine Auswahl drin haben wo man eine bestimmte Gruppe auswählt. Und sobald eine neue Gruppe ausgewählt wird sollen die Wert angepasst werden.

Ansonsten müßte ich ja für jeden Eintrag ne extra Datenbank abfrage machen.
ptk
 2006-05-20 12:10
#45474 #45474
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Dann musst du jedes Hashelement einzeln auswechseln. Den Inhalt eines ganzen Hashs auf einmal auswechseln geht nicht, dabei würden die alten Referenzen verloren gehen.
zipster
 2006-05-31 11:52
#45475 #45475
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Tausche jetzt das Hash per Foreach Schleife komplett aus.

Danke PTK für die Hilfe
<< >> 7 Einträge, 1 Seite



View all threads created 2006-05-18 20:22.