C# 如何获取gridview的数据源
我将gridview与sqldatasource一起使用。如何将codebehind中的数据源作为数据表返回 已编辑 使用方法并将其分配给dataviewC# 如何获取gridview的数据源,c#,gridview,sqldatasource,C#,Gridview,Sqldatasource,我将gridview与sqldatasource一起使用。如何将codebehind中的数据源作为数据表返回 已编辑 使用方法并将其分配给dataview DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty); 然后使用 DataTable dt = (DataTable)dv.ToTable(); 使用System.Data.DataTable dt=(System.Data.Data
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
然后使用
DataTable dt = (DataTable)dv.ToTable();
使用System.Data.DataTable dt=(System.Data.DataTable)gview.DataSource;如果您正在绑定数据表 如果将数据集绑定为,甚至可以从数据集中提取数据表 System.Data.DataTable dt2=(System.Data.DataTable)((System.Data.DataSet)gvValidDA.DataSource)表[0];您必须根据自己的喜好检查表的索引或表名
快乐编码。实际数据不存储在Gridview属性中,因为上述答案与此相关 仅对Gridview.DataSource使用直接强制转换是不够的,因为当Gridview呈现时,它实际上是空的 您必须直接从SQL数据源重新加载数据
DataSourceSelectArguments dss = new DataSourceSelectArguments();
DataView dvS = sdsADDorREMstudentData.Select(dss) as DataView;
DataTable dtS = dvS.ToTable() as DataTable;
if (dtS != null)
{
... etc...
}
也可以在Gridview渲染之前使用ViewState保留数据
DataView dvClasses = (DataView)sdsClasses.Select(DataSourceSelectArguments.Empty);
gvStudents.DataSourceID = "sdsClasses";
gvStudents.DataSource = null; // Null out the source, as we have a SourceID instead
gvStudents.DataBind();
//save the data in a viewstate for later use (to control adding and removing students, without doing a postback! See ADD & REM methods below)
DataView dv = (DataView)dvClasses;
DataTable dt = new DataTable();
if (dv != null)
{
dt = dv.ToTable();
ViewState["gv"] = dt;
}
并在Gridview渲染后需要使用数据时,使用ViewState将其转换回DataTable
DataTable dt = (DataTable)ViewState["gv"];