Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Перебор datatable с генерацией таблицы HTML


Автор: FoXIT 12.10.2010, 13:51
Есть datatable  в ней 2500 строк

нужно сгенерить html таблицу

делаю  так :

Код

 
html = "<table>"

For i = 0 To dt.Rows.Count - 1

html=html+"<tr><td>"+dt.rows(i).Item("id_pr").ToString+"</td></tr>"

next
html = html+"</table>"




код естественно сокращен, там 15 полей.

очень уж долго это работает, не подскажите как ускорить.

Автор: CYBERDREAM 12.10.2010, 13:58
По хорошему StringBuilder надо использовать. String является неизменяемым - Immutable

Автор: FoXIT 12.10.2010, 14:08
Цитата(CYBERDREAM @ 12.10.2010,  13:58)
По хорошему StringBuilder надо использовать. String является неизменяемым - Immutable

Спасибо!
Открыли мне глаза.
Всё просто полетело! 

Автор: diadiavova 12.10.2010, 20:27
А еще можно написать функцию, которая принимает таблицу и возвращает хтмл-текст
Код

    Function GenerateHtmlTable(ByVal dt As DataTable) As String
        Return _
         <table>
             <tbody>
                 <tr>
                     <%= From col As DataColumn In dt.Columns
                         Select <th>
                                    <%= col.Caption %>
                                </th> %>
                 </tr>
                 <%= From r As DataRow In dt.Rows
                     Select <tr>
                                <%= From cell In r.ItemArray
                                    Select <td>
                                               <%= cell.ToString %>
                                           </td>
                                %>
                            </tr>
                 %>
             </tbody>
         </table>.ToString
    End Function

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)