The following coding example presents a tabular display of any result set that used relational data.
/** * * A simple method that will display data selection using relational data in a tabular format. * * @param result set generated from reading a information map using relational data. *
* @throws Exception
*/private void DisplayRelationalTableExample(com.sas.iquery.metadata.business.DataSelection dataSelection) throws Exception
{
// Use result set to setup table adapter that is used to visually display relational data
com.sas.storage.iquery.BusinessQueryToTableModelAdapter adapter = new com.sas.storage.iquery.BusinessQueryToTableModelAdapter();
adapter.setModel(dataSelection);
// Set up a Java Frame to display Simple Table
javax.swing.JDialog m_testDialog;
javax.swing.JFrame m_mainFrame = null;
// Create the panel to hold the results of
javax.swing.JPanel ButtonPanel = new javax.swing.JPanel( new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT, 5, 10) );
javax.swing.JButton closeButton = new javax.swing.JButton("Close");
java.awt.Container table = new java.awt.Container();
int tableWidth = 0, tableHeight = 0;
table.setLayout( new java.awt.BorderLayout() );
table.setLayout(new com.sas.visuals.AutoSizingGridLayout(0, 1, 5, 5, true, true, true));
com.sas.swing.visuals.tableview.TableView rtable= new com.sas.swing.visuals.tableview.TableView();
rtable.setColumnSelectionAllowed(true);
rtable.setCellSelectionEnabled(true);
rtable.setModel(adapter);rtable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
javax.swing.JScrollPane relationPane = new javax.swing.JScrollPane(rtable);
table.add(java.awt.BorderLayout.CENTER, relationPane);
tableWidth = rtable.getPreferredSize().width ;
tableHeight = rtable.getPreferredSize().height + 75 ;
// Fill in the dialog
String resultTitle = "Testing Dialog";
m_testDialog = new javax.swing.JDialog( m_mainFrame, resultTitle, true );
javax.swing.JPanel panel = new javax.swing.JPanel();
panel.setLayout( new java.awt.BorderLayout() );
m_testDialog.setContentPane( panel );
ButtonPanel.add( closeButton );
closeButton.addActionListener( new java.awt.event.ActionListener()
{ public void actionPerformed(java.awt.event.ActionEvent event)
{ }
});
panel.add( java.awt.BorderLayout.CENTER, table );
panel.add( java.awt.BorderLayout.SOUTH, ButtonPanel );
tableHeight += ButtonPanel.getPreferredSize().height;
if ( tableHeight < 200 ) tableHeight = 200;
if ( tableWidth > 500 ) tableWidth = 500;
else if ( tableWidth < 300 ) tableWidth = 300;
if ( tableHeight > 600 ) tableHeight = 600;
m_testDialog.pack();
m_testDialog.setSize(tableWidth, tableHeight);
m_testDialog.setResizable( true );
m_testDialog.setVisible( true );
}