views:

68

answers:

1

Hello all im using Qwebkit and i like to be able to insert into html table each data input that comes last as first record ( ...my data ...) in to the table . here is my code this is only example :

ui.webView->page()->mainFrame()->setHtml("<html><body><p>HTML Table Test</p>"
                                            "<table id=\"mainTable\" name=\"mainTable\" BORDER=1 BORDERCOLOR=RED></table>"
                                             "</body></html>");
    QWebElement body = ui.webView->page()->mainFrame()->documentElement();
    QWebElement mainTable = ui.webView->page()->mainFrame()->findFirstElement("#mainTable");
    mainTable.appendInside ("<tr><td>1111111<\/td></\tr>");      ///<-- this is i like to be last in the end
    mainTable.appendInside ("<tr><td>2222222<\/td></\tr>");      ///<-- this is i like to be in the middle
    mainTable.appendInside ("<tr><td>3333333<\/td></\tr>");     ///<-- this is i like to be in the first

The content of the records are coming dynamically and not as i show here , so i can't do it hard codded in short i need LIFO algorithm here ..

how should i do that ?

+2  A: 

The QWebElement::appendInside method add the parameter to the end of the web element. The QWebElement::prependInside method add the parameter to the beginning of the web element.

If we have a QWebElement *elt containing a empty table such as :

<table><table>

to create the following table,

<table>
  <tr><td>A</td></tr>
  <tr><td>B</td></tr>
  <tr><td>C</td></tr>
</table>

You can use one of the two following methods, they are equivalent.

Method 1, with appendInside

elt->appendInside("<tr><td>A</td></tr>");
elt->appendInside("<tr><td>B</td></tr>");
elt->appendInside("<tr><td>C</td></tr>");

or method 2, with preprendInside

elt->prependInside("<tr><td>C</td></tr>");
elt->prependInside("<tr><td>B</td></tr>");
elt->prependInside("<tr><td>A</td></tr>");

Using prependInside or appendInside gives you the control over the FIFO or LIFO behaviour of your algorithm.

Lohrun
ok i guess i didn't explain .. the content of the records created dynamically , i can't do it hard codded
The fact the data aren't hard coded is not relevant in this case, you can replace the string by your own dynamically generated string. I edited my response to highlight the differences between the method you used and the methods I am proposing.
Lohrun