Ich versuche, frühere „Sünden“ in einem von mir geschriebenen Skript zu korrigieren, indem ich es mit einstimmigen Referenzen aktualisiere, d. oder eine „störende“ Tabelle. Ich habe versucht, das Problem unten zu rekonstruieren.
Names Default To Here( 1 );
// this is the table i want to work with
dt = New Table( "Target table", invisible,
Add Rows( 3 ),
New Column( "Name_1",
Character( 1 ),
"Nominal",
Set Values( {"A", "B", "C"} ),
Set Display Width( 45 )
),
New Column( "Name_2",
Character( 1 ),
"Nominal",
Set Values( {"X", "Y", "Z"} ),
Set Display Width( 45 )
),
New Column( "NumericRight",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3] ),
Set Display Width( 78 )
),
New Column( "NumericAlso",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [7, 8, 9] )
)
);
dt2 = New Table( "Interfering table", invisible,
Add Rows( 3 ),
New Column( "Name_1",
Character( 1 ),
"Nominal",
Set Values( {"D", "E", "F"} ),
Set Display Width( 45 )
),
New Column( "Name_2",
Character( 1 ),
"Nominal",
Set Values( {"U", "V", "W"} ),
Set Display Width( 45 )
),
New Column( "NumericInterference",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [4, 5, 6] )
),
New Column( "MoreNumeric",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [7, 8, 9] )
)
);
// get lists
lstName_1 = Associative Array( dt:Name_1 ) << Get Keys;
lstName_2 = Associative Array( dt:Name_2 ) << Get Keys;
colList = dt << Get Column Names( "Numeric" );
// window with radio buttons & col list box
New Window( "Select values",
Show Menu( 0 ),
Show Toolbars( 0 ),
Border Box( Top( 0 ), Bottom( 20 ), Left( 20 ), Right( 10 ),
H List Box(
Panel Box( "Name_1",
Radio Box(
Eval List( lstName_1 )
)
),
Panel Box( "Name_2",
Radio Box(
Eval List( lstName_2 )
)
),
Panel Box( "Numeric Columns",
clb = Col List Box( )
),
clb << Append( colList ); // making me cry ...
)
)
);
Was ich sehen möchte :

Was ich immer sehe, wenn meine „Zieltabelle“ nicht die aktuelle Tabelle ist :

Was mich völlig verwirrt, ist, dass, wenn ich den Namen ändere dt2:NumericInterference Zu dt2:NumericRight , ich bekomme dieses Ergebnis :

Warum lässt dt2 mein Skript nicht die Arbeit erledigen, die ich möchte? Warum wirkt sich die Namensänderung einer Spalte in dt2 darauf aus, was in das Spaltenlistenfeld gelangt? Ich habe einige Variationen des Verschiebens ausprobiert colList Variable und habe auch versucht, sie einzupacken Evaluierungsliste() , ohne „Glück“.
Als ich erneut in der Community suchte, fand ich Folgendes Benötigen Sie Hilfe beim Ausfüllen des Col-Listenfelds? Wenn es eine andere Lösung gibt, danke für den Hinweis. Oder ist es so gemeint, und wenn ja, welche Bedeutung hat das?