简体   繁体   中英

Convert DataRow to TableRow

Simple enough. Cant find a simple solution. Not sure if their is a simple solution? :/

I have a dataTable. I essentially want to achieve this...

DataTable dt = new DataTable();
dataAdapter.Fill(dt);

TableRow tr = new TableRow();
tr = dt.Rows[0];

but i cant convert from DataRow to a TableRow!

Help!

Alex

A TableRow is a UI element, it is represents a row within a Table control). The DataRow is a data element, it represents a row of data within a DataTable. You can't convert between the two like this because they are simply different beasts.

If you're looking to work with the UI then you should bind the Table control to the DataTable. Then you can pull the individual TableRow objects.

What are you trying to do?

you can use this

TableRow tr = new TableRow();

    tr .Cells(0).Text = dt.Rows[0][0];

because TabeRow have so many cell, you must have to specified cell. there is no method to add whole datarow in to TableRow both are Different.

if your goal is to show on the UI the data that are within a dataTable(or any other datasource) why don't you use a repeater?

anyway you can't just convert the DataTableRow to TableRow but you have to do it yourself. have a look at the below code

private void GenerateTable()

    {

        DataTable dt = CreateDataTable();

        Table table = new Table();

        TableRow row = null;



        //Add the Headers

        row = new TableRow();

        for (int j = 0; j < dt.Columns.Count; j++)

        {

            TableHeaderCell headerCell = new TableHeaderCell();

            headerCell.Text = dt.Columns[j].ColumnName;

            row.Cells.Add(headerCell);

        }

        table.Rows.Add(row);



        //Add the Column values

        for (int i = 0; i < dt.Rows.Count; i++)

        {

            row = new TableRow();

            for (int j = 0; j < dt.Columns.Count; j++)

            {

                TableCell cell = new TableCell();

                cell.Text = dt.Rows[i][j].ToString();

                row.Cells.Add(cell);

            }

            // Add the TableRow to the Table

            table.Rows.Add(row);

        }

        // Add the the Table in the Form

        form1.Controls.Add(table);

    }

source:

http://geekswithblogs.net/dotNETvinz/archive/2009/06/24/fill-asp.net-table-with-data-from-datatable.aspx

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM