vaibhav mahajan Ответов: 4

преобразование источника данных gridview в datatable


Всем привет..!!
У меня есть gridview, который привязан к базе данных источником данных.
я хочу преобразовать содержимое этого источника данных в datatable.

я попробовал это сделать

GridView grd = new GridView();
        grd.DataSource = SqlDataSource1;
        grd.DataBind();

        DataTable dt = new DataTable();
       dt =(DataTable)grd.DataSource;


но это не работает..!!

любые предложения/ссылки приветствуются..!!

4 Ответов

Рейтинг:
28

vaibhav mahajan

я понял......

DataTable dt = new DataTable();


    DataSourceSelectArguments args = new DataSourceSelectArguments();

    DataView dv = new DataView();
    dv = (DataView)SqlDataSource1.Select(args);

    dt = dv.ToTable();


Рейтинг:
2

Ram424

Почему вы бросаете так прямо, дайте sqldatasource1 в dt (здесь вам нужно преобразовать источник данных в datatable).


vaibhav mahajan

этого не происходит..!!

Рейтинг:
0

saloni15

если все это не работает то используйте самый затратный метод:

1) Создайте datatable и добавьте столбцы, как в gridview

DataTable dt = new DataTable();

dt.Columns.Add("col1");.....

2) применитесь для цикла на строках gridview и добавьте repective datarow в datatable
for(int i=0;i<gridview.rowc.count;i++)>
{
DataRow dr =dt.NewRow();
dr["col1"]= gridview.rows[i]["col1"].text;
dt.rows.add(dr);
}


Рейтинг:
0

LNogueira

BindingSource bs = (BindingSource )сетка.Источник данных;

DataTable dt = (DataTable ) bs.DataSource;

К сожалению, BindingSource доступен только в Windows Forms.

Вы можете попробовать:

bool firstTime = true;
    System.Data.DataTable dt;
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
            if (this.firstTime)
            {
                System.Data.DataView dv =
                     (e.Row.DataItem as System.Data.DataRowView).DataView;
                this.dt = dv.ToTable();
                this.Label1.Text = dt.Rows.Count.ToString();
                this.firstTime = false;
            }
    }


Ссылка


vaibhav mahajan

пространство имен?