如何在gridview中切换列和行
不希望使用listview或datalist。但我正试图弄清楚如何切换我的列和行 例如,我的列是projectname、projectaddress等。我希望这些列显示为行如何在gridview中切换列和行,gridview,Gridview,不希望使用listview或datalist。但我正试图弄清楚如何切换我的列和行 例如,我的列是projectname、projectaddress等。我希望这些列显示为行 任何帮助都将不胜感激。您可以在将数据集加载到gridview之前翻转数据集 private void BindData() { // Fill a dataTable with results // Add the dataTable to a DataSet DataSet ds = new Da
任何帮助都将不胜感激。您可以在将数据集加载到gridview之前翻转数据集
private void BindData()
{
// Fill a dataTable with results
// Add the dataTable to a DataSet
DataSet ds = new DataSet();
ds.Tables.Add(dt);
// Flip your dataSet
DataSet new_ds = FlipDataSet(ds);
new_ds.Tables[0].Rows[0].Delete();
DataView my_DataView = new_ds.Tables[0].DefaultView;
gridView.DataSource = my_DataView;
gridView.DataBind();
}
public DataSet FlipDataSet(DataSet my_DataSet)
{
DataSet ds = new DataSet();
foreach(DataTable dt in my_DataSet.Tables)
{
DataTable table = new DataTable();
for(int i=0; i<=dt.Rows.Count; i++)
{
table.Columns.Add(Convert.ToString(i));
}
DataRow r;
for(int k=0; k<dt.Columns.Count; k++)
{
r = table.NewRow();
r[0] = dt.Columns[k].ToString();
for(int j=1; j<=dt.Rows.Count; j++)
r[j] = dt.Rows[j-1][k];
table.Rows.Add(r);
}
ds.Tables.Add(table);
}
return ds;
}
在将数据集加载到gridview之前,可以翻转数据集
private void BindData()
{
// Fill a dataTable with results
// Add the dataTable to a DataSet
DataSet ds = new DataSet();
ds.Tables.Add(dt);
// Flip your dataSet
DataSet new_ds = FlipDataSet(ds);
new_ds.Tables[0].Rows[0].Delete();
DataView my_DataView = new_ds.Tables[0].DefaultView;
gridView.DataSource = my_DataView;
gridView.DataBind();
}
public DataSet FlipDataSet(DataSet my_DataSet)
{
DataSet ds = new DataSet();
foreach(DataTable dt in my_DataSet.Tables)
{
DataTable table = new DataTable();
for(int i=0; i<=dt.Rows.Count; i++)
{
table.Columns.Add(Convert.ToString(i));
}
DataRow r;
for(int k=0; k<dt.Columns.Count; k++)
{
r = table.NewRow();
r[0] = dt.Columns[k].ToString();
for(int j=1; j<=dt.Rows.Count; j++)
r[j] = dt.Rows[j-1][k];
table.Rows.Add(r);
}
ds.Tables.Add(table);
}
return ds;
}
我的数据没有预加载到数据集中,而是直接从sqldatasource放入gridview。请参见下文:@user1281748据我所知,您不能使用sqldatasource或gridview设置翻转源。您可以将SQLDataSource的结果转换为数据集,然后执行我上面发布的操作。如果您需要一个如何将SQLDataSource获取到dataTable的示例,请查看此示例。非常感谢你的帮助!!欢迎光临!如果答案正是你需要的,别忘了接受它。此外,由于这是您第一次在这里提问,您可能希望查看常见问题解答。欢迎来到StackOverflow!我将/*从sql数据源创建数据视图/dataview dv=DataViewgvDataSource.SelectDataSourceSelectArguments.Empty;/将dataview转换为datatable*/datatable dt=dv.ToTable;我的数据没有预加载到数据集中,而是直接从sqldatasource放入gridview。请参见下文:@user1281748据我所知,您不能使用sqldatasource或gridview设置翻转源。您可以将SQLDataSource的结果转换为数据集,然后执行我上面发布的操作。如果您需要一个如何将SQLDataSource获取到dataTable的示例,请查看此示例。非常感谢你的帮助!!欢迎光临!如果答案正是你需要的,别忘了接受它。此外,由于这是您第一次在这里提问,您可能希望查看常见问题解答。欢迎来到StackOverflow!我将/*从sql数据源创建数据视图/dataview dv=DataViewgvDataSource.SelectDataSourceSelectArguments.Empty;/将dataview转换为datatable*/datatable dt=dv.ToTable;