将gridview数据源转换为datatable [英] convert gridview datasource to datatable

查看:517
本文介绍了将gridview数据源转换为datatable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好.. !!

我有一个由数据源数据绑定的gridview。

i希望将该数据源的内容转换为数据表。



i试过这个



Hello everyone..!!
I have a gridview which is databinded by datasource.
i want to convert that datasource's content into datatable.

i tried this

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

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





但它无法正常工作.. !!



欢迎任何建议/链接.. !!



but its not working..!!

any suggestion/links are welcomed..!!

推荐答案

如果这一切都不起作用则使用最耗费成本的方法:



1)创建数据表并在gridview中添加列

if all this is not working then use the most Cost consuming method:

1) create a datatable and add columns as in gridview
DataTable dt = new DataTable();




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



2)在gridview行上申请循环并在数据表中添加相应的数据行


2) apply for loop on gridview rows and add repective datarow in 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);
}


我明白了......

i got it ......
DataTable dt = new DataTable();


    DataSourceSelectArguments args = new DataSourceSelectArguments();

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

    dt = dv.ToTable();


BindingSource bs =(BindingSource)grid.DataSource;



DataTable dt =(DataTable)bs.DataSource;



对不起,BindingSource仅适用于Windows Forms。



您可以尝试:



BindingSource bs = (BindingSource )grid.DataSource;

DataTable dt = (DataTable ) bs.DataSource;

Sorry, BindingSource is only available on Windows Forms.

You can try:

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;
            }
    }





参考


这篇关于将gridview数据源转换为datatable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆