Hi Gurus,
I am trying to use Grid.pm to display rows after rows
of data I retrieve from a DB2 database. The problem is
that I don't know how many rows I am going to be
displaying ahead of time I need to do it dynamically.
So I declare teh grid like this:
my $Grid = $W->AddGrid (
-name => "Grid",
-pos => [70,80],
-width => 890,
-height => 490,
-editable => 0,
) or die "new Grid";
$Grid->Hide;
And much later. I create the output headings, ie the
very first rows of the database has the column names of
the databae table. as in.
SECTIONA
--------
# codes to extract fieldnames(ie columns) from DB2
# blah blah blah.
# now enter those field names into Grid
my $i=0;
$Grid->InsertRow($fieldnames[$i],$i);
for( $icol = $i++; $icol <= $#fieldnames; $icol++ ) {
$Grid->InsertColumn($fieldnames[$icol],$icol);
}
SECTIONB
--------
Then I start reading in from the database into an
array @arraydata each loop I would read in a row of
data into @arraydata and I then try to insert into the
grid this row using the following methods. IT DOES NOT
WORK!!
my $rowcnt=1;
while( @arrayData = $sth->fetchrow_array() ) {
$node_name = shift @arrayData;
my $subitemcnt=1;
$Grid->InsertRow($node_name,$rowcnt);
foreach my $fieldData (@arrayData) {
$Grid->SetCellText($rowcnt,$subitemcnt,$fieldData);
$Grid->Refresh();
$subitemcnt++;
}
$rowcnt++;
} # endwhile
The only things that gets displayed is just one single
row from the sectionA of the codes above. SEction B
data doesn't seem to get displayed at all :(
What is the trick to doing dynamic data with Grid?
What am I doing wrong?? :(