- //---------------------------------------------------------------------------------------
- int i=0,x,y,z, ValidTable=0;
- wxString Temp0;
- wxBeginBusyCursor();
- SetFont(* pDoc->ft_Doc);
- // wxFont *ft_Temp;
- // ft_Temp = new wxFont(wxSystemSettings::GetSystemFont(wxSYS_SYSTEM_FONT));
- // SetFont(*ft_Temp);
- //---------------------------------------------------------------------------------------
- ct_BrowserDB = (db_Br+i_Which)->ct_BrowserDB; // Get the DSN Pointer
- //---------------------------------------------------------------------------------------
- if (ct_BrowserDB) // Valid pointer (!= NULL) ?
- { // Pointer is Valid, use the wxDatabase Information
- for (x=0;x<ct_BrowserDB->numTables;x++) // go through the Tables
- {
- if (!wxStrcmp((ct_BrowserDB->pTableInf+x)->tableName,Table)) // is this our Table ?
- { // Yes, the Data of this Table shall be put into the Grid
- ValidTable = x; // Save the Tablenumber
- (db_Br+i_Which)->OnSelect(Table,FALSE); // Select * from "table"
- // Set the local Pointer to the Column Information we are going to use
- (db_Br+i_Which)->cl_BrowserDB = (ct_BrowserDB->pTableInf+x)->pColInf;
- if ((ct_BrowserDB->pTableInf+x)->pColInf) // Valid pointer (!= NULL) ?
- { // Pointer is Valid, Column Informationen sind Vorhanden
- i = (db_Br+i_Which)->i_Records; // How many Records are there
- (db_Br+i_Which)->i_Which = ValidTable; // Still used ???? mj10777
- if (i == 0) // If the Table is empty, then show one empty row
- i++;
- // wxLogMessage(_("\n-I-> DBGrid::OnTableView():: Vor CreateGrid"));
- CreateGrid(i,(ct_BrowserDB->pTableInf+x)->numCols); // Records , Columns
- for (y=0;y<(ct_BrowserDB->pTableInf+x)->numCols;y++) // Loop through the Fields
- { // The Field / Column name is used here as Row Titel
- SetColLabelValue(y,((ct_BrowserDB->pTableInf+x)->pColInf+y)->colName);
- SetColSize(y,95);
- } // for (y=0;y<(ct_BrowserDB->pTableInf+x)->numCols;y++)
- SetColSize(((ct_BrowserDB->pTableInf+x)->numCols-1),120); // Make the last Column Wider
- // The Grid has been created, now fill it
- for (z=0;z<(db_Br+i_Which)->i_Records;z++) // Loop through the Records
- {
- Temp0.Printf("%06d",z+1); SetRowLabelValue(z,Temp0); // Set Row Lable Value
- (db_Br+i_Which)->OnGetNext((ct_BrowserDB->pTableInf+ValidTable)->numCols,FALSE);
- for (y=0;y<(ct_BrowserDB->pTableInf+ValidTable)->numCols;y++) // Loop through the Fields
- { // BrowserDB::OnGetNext Formats the field Value into tablename
- SetCellValue(z, y,((db_Br+i_Which)->cl_BrowserDB+y)->tableName);
- }
- if (z % 50 == 0)
- {
- Temp0.Printf(_("-I-> DBGrid::OnTableView(%s) - Record %6d has been read."),Table.c_str(),z);
- pDoc->p_MainFrame->SetStatusText(Temp0, 0);
- }
- } // for (z=0;z<(db_Br+i_Which)->i_Records;z++)
- Temp0.Printf(_("-I-> DBGrid::OnTableView(%s) - %6d Records have been read."),Table.c_str(),z);
- pDoc->p_MainFrame->SetStatusText(Temp0, 0);
- // The Grid has been filled, now leave
- goto Weiter;
- } // if ((ct_BrowserDB->pTableInf+x)->pColInf)
+ wxStopWatch sw;
+ //---------------------------------------------------------------------------------------
+ int x,y,z;
+ wxString Temp0;
+ wxBeginBusyCursor();
+ SetDefaultCellFont(* pDoc->ft_Doc);
+ //---------------------------------------------------------------------------------------
+ ct_BrowserDB = (db_Br+i_Which)->ct_BrowserDB; // Get the DSN Pointer
+ //---------------------------------------------------------------------------------------
+ if (ct_BrowserDB) // Valid pointer (!= NULL) ?
+ { // Pointer is Valid, use the wxDatabase Information
+ for (x=0;x<ct_BrowserDB->numTables;x++) // go through the Tables
+ {
+ if (!wxStrcmp((ct_BrowserDB->pTableInf+x)->tableName,Table)) // is this our Table ?
+ { // Yes, the Data of this Table shall be put into the Grid
+ int ValidTable = x; // Save the Tablenumber
+ (db_Br+i_Which)->OnSelect(Table,false); // Select * from "table"
+ // Set the local Pointer to the Column Information we are going to use
+ (db_Br+i_Which)->cl_BrowserDB = (ct_BrowserDB->pTableInf+x)->pColInf;
+ if ((ct_BrowserDB->pTableInf+x)->pColInf) // Valid pointer (!= NULL) ?
+ { // Pointer is Valid, Column Informationen sind Vorhanden
+ int i = (db_Br+i_Which)->i_Records; // How many Records are there
+ (db_Br+i_Which)->i_Which = ValidTable; // Still used ???? mj10777
+ if (i == 0) // If the Table is empty, then show one empty row
+ i++;
+ // wxLogMessage(_("\n-I-> DBGrid::OnTableView() : Vor CreateGrid"));
+ CreateGrid(i,(ct_BrowserDB->pTableInf+x)->numCols); // Records , Columns
+ for (y=0;y<(ct_BrowserDB->pTableInf+x)->numCols;y++) // Loop through the Fields
+ { // The Field / Column name is used here as Row Titel
+ SetColLabelValue(y,((ct_BrowserDB->pTableInf+x)->pColInf+y)->colName);
+ SetColSize(y,95);
+ } // for (y=0;y<(ct_BrowserDB->pTableInf+x)->numCols;y++)
+ SetColSize(((ct_BrowserDB->pTableInf+x)->numCols-1),120); // Make the last Column Wider
+ // The Grid has been created, now fill it
+ for (z=0;z<(db_Br+i_Which)->i_Records;z++) // Loop through the Records
+ {
+ Temp0.Printf(_T("%06d"),z+1); SetRowLabelValue(z,Temp0); // Set Row Lable Value
+ (db_Br+i_Which)->OnGetNext((ct_BrowserDB->pTableInf+ValidTable)->numCols,false);
+ for (y=0;y<(ct_BrowserDB->pTableInf+ValidTable)->numCols;y++) // Loop through the Fields
+ { // BrowserDB::OnGetNext Formats the field Value into tablename
+ SetCellValue(z, y,((db_Br+i_Which)->cl_BrowserDB+y)->tableName);
+ }
+#if wxUSE_STATUSBAR
+ if (z % 50 == 0)
+ {
+ Temp0.Printf(_("-I-> DBGrid::OnTableView(%s) - Record %6d (from %d) has been read."),Table.c_str(),z,(db_Br+i_Which)->i_Records);
+ pDoc->p_MainFrame->SetStatusText(Temp0, 0);
+ }
+#endif // wxUSE_STATUSBAR
+ } // for (z=0;z<(db_Br+i_Which)->i_Records;z++)
+ Temp0.Printf(_("-I-> DBGrid::OnTableView(%s) - %6d Records have been read. - Time needed : %ld ms"),Table.c_str(),z,sw.Time());
+ wxLogMessage(Temp0);
+#if wxUSE_STATUSBAR
+ pDoc->p_MainFrame->SetStatusText(Temp0, 0);
+#endif // wxUSE_STATUSBAR
+ // The Grid has been filled, now leave
+ goto Weiter;
+ } // if ((ct_BrowserDB->pTableInf+x)->pColInf)
+ else
+ wxLogMessage(_("\n-E-> DBGrid::OnTableView() : Invalid Column Pointer : Failed"));
+ } // if ((ct_BrowserDB->pTableInf+x)->tableType == "TABLE")
+ } // for (x=0;x<ct_BrowserDB->numTables;x++)
+ } // if (ct_BrowserDB)