qdatatable.html

来自「QT 下载资料仅供参考」· HTML 代码 · 共 755 行 · 第 1/4 页

HTML
755
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/src/sql/qdatatable.cpp:123 --><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>QDataTable Class</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: #ffffff; color: black; }--></style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr bgcolor="#E5E5E5"><td valign=center> <a href="index.html"><font color="#004faf">Home</font></a> | <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a> | <a href="mainclasses.html"><font color="#004faf">Main&nbsp;Classes</font></a> | <a href="annotated.html"><font color="#004faf">Annotated</font></a> | <a href="groups.html"><font color="#004faf">Grouped&nbsp;Classes</font></a> | <a href="functions.html"><font color="#004faf">Functions</font></a></td><td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataTable Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1><p>The QDataTable class provides a flexible SQL table widget that supports browsing and editing.<a href="#details">More...</a><p><tt>#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;</tt><p>Inherits <a href="qtable.html">QTable</a>.<p><a href="qdatatable-members.html">List of all member functions.</a><h2>Public Members</h2><ul><li><div class=fn><a href="#QDataTable"><b>QDataTable</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</div></li><li><div class=fn><a href="#QDataTable-2"><b>QDataTable</b></a> ( QSqlCursor&nbsp;*&nbsp;cursor, bool&nbsp;autoPopulate = FALSE, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</div></li><li><div class=fn><a href="#~QDataTable"><b>~QDataTable</b></a> ()</div></li><li><div class=fn>virtual void <a href="#addColumn"><b>addColumn</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fieldName, const&nbsp;QString&nbsp;&amp;&nbsp;label = QString::null, int&nbsp;width = -1, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset = QIconSet ( ) )</div></li><li><div class=fn>virtual void <a href="#removeColumn"><b>removeColumn</b></a> ( uint&nbsp;col )</div></li><li><div class=fn>virtual void <a href="#setColumn"><b>setColumn</b></a> ( uint&nbsp;col, const&nbsp;QString&nbsp;&amp;&nbsp;fieldName, const&nbsp;QString&nbsp;&amp;&nbsp;label = QString::null, int&nbsp;width = -1, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset = QIconSet ( ) )</div></li><li><div class=fn>QString <a href="#nullText"><b>nullText</b></a> () const</div></li><li><div class=fn>QString <a href="#trueText"><b>trueText</b></a> () const</div></li><li><div class=fn>QString <a href="#falseText"><b>falseText</b></a> () const</div></li><li><div class=fn>DateFormat <a href="#dateFormat"><b>dateFormat</b></a> () const</div></li><li><div class=fn>bool <a href="#confirmEdits"><b>confirmEdits</b></a> () const</div></li><li><div class=fn>bool <a href="#confirmInsert"><b>confirmInsert</b></a> () const</div></li><li><div class=fn>bool <a href="#confirmUpdate"><b>confirmUpdate</b></a> () const</div></li><li><div class=fn>bool <a href="#confirmDelete"><b>confirmDelete</b></a> () const</div></li><li><div class=fn>bool <a href="#confirmCancels"><b>confirmCancels</b></a> () const</div></li><li><div class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</div></li><li><div class=fn>bool <a href="#autoEdit"><b>autoEdit</b></a> () const</div></li><li><div class=fn>QString <a href="#filter"><b>filter</b></a> () const</div></li><li><div class=fn>QStringList <a href="#sort"><b>sort</b></a> () const</div></li><li><div class=fn>virtual void <a href="#setSqlCursor"><b>setSqlCursor</b></a> ( QSqlCursor&nbsp;*&nbsp;cursor = 0, bool&nbsp;autoPopulate = FALSE, bool&nbsp;autoDelete = FALSE )</div></li><li><div class=fn>QSqlCursor * <a href="#sqlCursor"><b>sqlCursor</b></a> () const</div></li><li><div class=fn>virtual void <a href="#setNullText"><b>setNullText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nullText )</div></li><li><div class=fn>virtual void <a href="#setTrueText"><b>setTrueText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;trueText )</div></li><li><div class=fn>virtual void <a href="#setFalseText"><b>setFalseText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;falseText )</div></li><li><div class=fn>virtual void <a href="#setDateFormat"><b>setDateFormat</b></a> ( const&nbsp;DateFormat&nbsp;f )</div></li><li><div class=fn>virtual void <a href="#setConfirmEdits"><b>setConfirmEdits</b></a> ( bool&nbsp;confirm )</div></li><li><div class=fn>virtual void <a href="#setConfirmInsert"><b>setConfirmInsert</b></a> ( bool&nbsp;confirm )</div></li><li><div class=fn>virtual void <a href="#setConfirmUpdate"><b>setConfirmUpdate</b></a> ( bool&nbsp;confirm )</div></li><li><div class=fn>virtual void <a href="#setConfirmDelete"><b>setConfirmDelete</b></a> ( bool&nbsp;confirm )</div></li><li><div class=fn>virtual void <a href="#setConfirmCancels"><b>setConfirmCancels</b></a> ( bool&nbsp;confirm )</div></li><li><div class=fn>virtual void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</div></li><li><div class=fn>virtual void <a href="#setAutoEdit"><b>setAutoEdit</b></a> ( bool&nbsp;autoEdit )</div></li><li><div class=fn>virtual void <a href="#setFilter"><b>setFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter )</div></li><li><div class=fn>virtual void <a href="#setSort"><b>setSort</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;sort )</div></li><li><div class=fn>virtual void <a href="#setSort-2"><b>setSort</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;sort )</div></li><li><div class=fn>enum <a href="#Refresh-enum"><b>Refresh</b></a> { RefreshData = 1, RefreshColumns = 2, RefreshAll = 3 }</div></li><li><div class=fn>void <a href="#refresh-2"><b>refresh</b></a> ( Refresh&nbsp;mode )</div></li><li><div class=fn>virtual void <a href="#sortColumn"><b>sortColumn</b></a> ( int&nbsp;col, bool&nbsp;ascending = TRUE, bool&nbsp;wholeRows = FALSE )</div></li><li><div class=fn>virtual QString <a href="#text"><b>text</b></a> ( int&nbsp;row, int&nbsp;col ) const</div></li><li><div class=fn>QVariant <a href="#value"><b>value</b></a> ( int&nbsp;row, int&nbsp;col ) const</div></li><li><div class=fn>QSqlRecord * <a href="#currentRecord"><b>currentRecord</b></a> () const</div></li><li><div class=fn>void <a href="#installEditorFactory"><b>installEditorFactory</b></a> ( QSqlEditorFactory&nbsp;*&nbsp;f )</div></li><li><div class=fn>void <a href="#installPropertyMap"><b>installPropertyMap</b></a> ( QSqlPropertyMap&nbsp;*&nbsp;m )</div></li><li><div class=fn>virtual int <a href="#numCols"><b>numCols</b></a> () const</div></li><li><div class=fn>virtual int <a href="#numRows"><b>numRows</b></a> () const</div></li></ul><h2>Public Slots</h2><ul><li><div class=fn>virtual void <a href="#find"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;caseSensitive, bool&nbsp;backwards )</div></li><li><div class=fn>virtual void <a href="#sortAscending"><b>sortAscending</b></a> ( int&nbsp;col )</div></li><li><div class=fn>virtual void <a href="#sortDescending"><b>sortDescending</b></a> ( int&nbsp;col )</div></li><li><div class=fn>virtual void <a href="#refresh"><b>refresh</b></a> ()</div></li><li><div class=fn>virtual void <a href="#setColumnWidth"><b>setColumnWidth</b></a> ( int&nbsp;col, int&nbsp;w )</div></li><li><div class=fn>virtual void <a href="#adjustColumn"><b>adjustColumn</b></a> ( int&nbsp;col )</div></li></ul><h2>Signals</h2><ul><li><div class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( QSqlRecord&nbsp;*&nbsp;record )</div></li><li><div class=fn>void <a href="#primeInsert"><b>primeInsert</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</div></li><li><div class=fn>void <a href="#primeUpdate"><b>primeUpdate</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</div></li><li><div class=fn>void <a href="#primeDelete"><b>primeDelete</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</div></li><li><div class=fn>void <a href="#beforeInsert"><b>beforeInsert</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</div></li><li><div class=fn>void <a href="#beforeUpdate"><b>beforeUpdate</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</div></li><li><div class=fn>void <a href="#beforeDelete"><b>beforeDelete</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</div></li><li><div class=fn>void <a href="#cursorChanged"><b>cursorChanged</b></a> ( QSql::Op&nbsp;mode )</div></li></ul><h2>Properties</h2><ul><li><div class=fn>bool <a href="#autoEdit-prop"><b>autoEdit</b></a>&nbsp;- whether the data table automatically applies edits</div></li><li><div class=fn>bool <a href="#confirmCancels-prop"><b>confirmCancels</b></a>&nbsp;- whether the data table confirms cancel operations</div></li><li><div class=fn>bool <a href="#confirmDelete-prop"><b>confirmDelete</b></a>&nbsp;- whether the data table confirms delete operations</div></li><li><div class=fn>bool <a href="#confirmEdits-prop"><b>confirmEdits</b></a>&nbsp;- whether the data table confirms edit operations</div></li><li><div class=fn>bool <a href="#confirmInsert-prop"><b>confirmInsert</b></a>&nbsp;- whether the data table confirms insert operations</div></li><li><div class=fn>bool <a href="#confirmUpdate-prop"><b>confirmUpdate</b></a>&nbsp;- whether the data table confirms update operations</div></li><li><div class=fn>DateFormat <a href="#dateFormat-prop"><b>dateFormat</b></a>&nbsp;- the format how date/time values are displayed</div></li><li><div class=fn>QString <a href="#falseText-prop"><b>falseText</b></a>&nbsp;- the text used to represent false values</div></li><li><div class=fn>QString <a href="#filter-prop"><b>filter</b></a>&nbsp;- the data filter for the data table</div></li><li><div class=fn>QString <a href="#nullText-prop"><b>nullText</b></a>&nbsp;- the text used to represent NULL values</div></li><li><div class=fn>int <a href="#numCols-prop"><b>numCols</b></a>&nbsp;- the number of columns in the table &nbsp;<em>(read only)</em></div></li><li><div class=fn>int <a href="#numRows-prop"><b>numRows</b></a>&nbsp;- the number of rows in the table &nbsp;<em>(read only)</em></div></li><li><div class=fn>QStringList <a href="#sort-prop"><b>sort</b></a>&nbsp;- the data table's sort</div></li><li><div class=fn>QString <a href="#trueText-prop"><b>trueText</b></a>&nbsp;- the text used to represent true values</div></li></ul><h2>Protected Members</h2><ul><li><div class=fn>virtual bool <a href="#insertCurrent"><b>insertCurrent</b></a> ()</div></li><li><div class=fn>virtual bool <a href="#updateCurrent"><b>updateCurrent</b></a> ()</div></li><li><div class=fn>virtual bool <a href="#deleteCurrent"><b>deleteCurrent</b></a> ()</div></li><li><div class=fn>virtual QSql::Confirm <a href="#confirmEdit"><b>confirmEdit</b></a> ( QSql::Op&nbsp;m )</div></li><li><div class=fn>virtual QSql::Confirm <a href="#confirmCancel"><b>confirmCancel</b></a> ( QSql::Op&nbsp;m )</div></li><li><div class=fn>virtual void <a href="#handleError"><b>handleError</b></a> ( const&nbsp;QSqlError&nbsp;&amp;&nbsp;e )</div></li><li><div class=fn>virtual bool <a href="#beginInsert"><b>beginInsert</b></a> ()</div></li><li><div class=fn>virtual QWidget * <a href="#beginUpdate"><b>beginUpdate</b></a> ( int&nbsp;row, int&nbsp;col, bool&nbsp;replace )</div></li><li><div class=fn>int <a href="#indexOf"><b>indexOf</b></a> ( uint&nbsp;i ) const</div></li><li><div class=fn>void <a href="#reset"><b>reset</b></a> ()</div></li><li><div class=fn>void <a href="#setSize"><b>setSize</b></a> ( QSqlCursor&nbsp;*&nbsp;sql )</div></li><li><div class=fn>virtual void <a href="#paintField"><b>paintField</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QSqlField&nbsp;*&nbsp;field, const&nbsp;QRect&nbsp;&amp;&nbsp;cr, bool&nbsp;selected )</div></li><li><div class=fn>virtual int <a href="#fieldAlignment"><b>fieldAlignment</b></a> ( const&nbsp;QSqlField&nbsp;*&nbsp;field )</div></li></ul><hr><a name="details"></a><h2>Detailed Description</h2><p> The QDataTable class provides a flexible SQL table widget that supports browsing and editing.<p> QDataTable supports various functions for presenting and editing SQLdata from a <a href="qsqlcursor.html">QSqlCursor</a> in a table.<p> If you want a to present your data in a form use <a href="qdatabrowser.html">QDataBrowser</a>, orfor read-only forms, <a href="qdataview.html">QDataView</a>.<p> When displaying data, QDataTable only retrieves data for visible rows.If the driver supports the 'query size' property the QDataTable willhave the correct number of rows and the vertical scrollbar willaccurately reflect the number of rows displayed in proportion to thenumber of rows in the dataset. If the driver does not support the'query size' property rows are dynamically fetched from the databaseon an as-needed basis with the scrollbar becoming more accurate as theuser scrolls down through the records.  This allows extremely largequeries to be displayed as quickly as possible, with minimum memoryusage.<p> QDataTable inherits <a href="qtable.html">QTable</a>'s API and extends it with functions tosort and filter the data and sort columns. See <a href="#setSqlCursor">setSqlCursor</a>(),<a href="#setFilter">setFilter</a>(), <a href="#setSort">setSort</a>(), <a href="qtable.html#setSorting">setSorting</a>(), <a href="#sortColumn">sortColumn</a>() and <a href="#refresh">refresh</a>().<p> When displaying editable cursors, cell editing will be enabled. (Formore information on editable cursors, see <a href="qsqlcursor.html">QSqlCursor</a>).  QDataTablecan be used to modify existing data and to add new records.  Whena user makes changes to a field in the table, the cursor's editbuffer is used.  The table will not send changes in the edit bufferto the database until the user moves to a different record in the gridor presses Return. Cell editing is initiated by pressing F2 (or rightclicking and then clicking the appropriate popup menu item) andcancelled by pressing Esc. If there is a problem updating or addingdata, errors are handled automatically (see <a href="#handleError">handleError</a>() to changethis behavior). Note that if <a href="#autoEdit">autoEdit</a>() is FALSE navigating to anotherrecord will cancel the insert or update.<p> The user can be asked to confirm all edits with <a href="#setConfirmEdits">setConfirmEdits</a>().For more precise control use <a href="#setConfirmInsert">setConfirmInsert</a>(), <a href="#setConfirmUpdate">setConfirmUpdate</a>(),<a href="#setConfirmDelete">setConfirmDelete</a>() and <a href="#setConfirmCancels">setConfirmCancels</a>(). Use <a href="#setAutoEdit">setAutoEdit</a>() tocontrol the behaviour of the table when the user edits a record andthen navigates. (Note that <a href="#setAutoDelete">setAutoDelete</a>() is unrelated; it is usedto set whether the <a href="qsqlcursor.html">QSqlCursor</a> is deleted when the table is deleted.)<p> Since the data table can perform edits, it must be able to uniquelyidentify every record so that edits are correctly applied. Becauseof this the underlying cursor must have a valid primary index toensure that a unique record is inserted, updated or deleted withinthe database otherwise the database may be changed to aninconsistent state.<p> QDataTable creates editors using the default <a href="qsqleditorfactory.html">QSqlEditorFactory</a>.Different editor factories can be used by calling

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?