将gridview数据源转换为datatable [英] convert gridview datasource to datatable
本文介绍了将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屋!
查看全文