![]() |
【转帖】oddbtable width not updated
oddbtable width not updated
oddbtable width not updated hi everyone when i resize one or more columns of an existing table (filled with text-values), the total width of the table is not updated. is there any method i can call on the tableobject that forces an update of the tablewidth? here is some code. i've made a workaround since i need the actual width of the table to position it correctly. code: double commonfunctions::resizetable( oddbdatabaseptr pdb, oddbobjectid tableid ){ oddbtableptr tableptr = tableid.safeopenobject( oddb::kforwrite ); unsigned int col, columns = tableptr->numcolumns(); double averagecolumnwidth = tableptr->width()/columns; double tempwidth, sum = 0; for( col = 0; col < columns; col++ ){ tempwidth = tableptr->columnwidth( col ); if( tempwidth >= averagecolumnwidth ){ tempwidth *= 0.7; //factor is still experimental tableptr->setcolumnwidth( col, tempwidth ); } sum += tempwidth; } tempwidth = tableptr->width(); //table width is still the same tableptr.release(); return sum; //needs to return total width because table is not updated }any help is appreciated. martin hello martin, try to call tableptr->recomputetableblock(true) befor line "tempwidth = tableptr->width(); //table width is still the same". best regards, sergey z. ok, that's it. hello sergey, thanks for the hint, it works. i am pretty sure i tried this with dwgdirect 2.5 and it didn't work. anyways, it does now. martin |
所有的时间均为北京时间。 现在的时间是 03:32 AM. |