如何在 DataGridView 中将行显示为列? [英] How to display rows as columns in DataGridView?
本文介绍了如何在 DataGridView 中将行显示为列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 VS 2008 中的 datagridview 显示从 sql 数据库中检索到的数据集.但我需要垂直而不是水平显示数据.这就是我在开始时所做的.
I'm trying to display set of data which have retrieved from the sql database using a datagridview in VS 2008. But I need to display data vertically rather than horizontally. This is what I have done at the beginning.
con.Open();
SqlCommand cmd = new SqlCommand("proc_SearchProfile", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@scute_id", SqlDbType.VarChar, (10)).Value = val;
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
DataSet dset = new DataSet();
adapt.Fill(dset, "Profile");
this.dataGridView1.DataSource = dset;
this.dataGridView1.DataMember = "Profile";
我搜索并阅读了一些线程,但没有一个起作用.任何人都可以帮助我在 datagridview 中垂直显示检索到的数据吗?
I searched and read a few threads but none of those work. Can anyone help me on displaying retrieved data in a datagridview vertically?
推荐答案
试试这个:
var tbl = dset.Tables["Profile"]:
var swappedTable = new DataTable();
for (int i = 0; i <= tbl.Rows.Count; i++)
{
swappedTable.Columns.Add(Convert.ToString(i));
}
for (int col = 0; col < tbl.Columns.Count; col++)
{
var r = swappedTable.NewRow();
r[0] = tbl.Columns[col].ToString();
for (int j = 1; j <= tbl.Rows.Count; j++)
r[j] = tbl.Rows[j - 1][col];
swappedTable.Rows.Add(r);
}
dataGridView1.DataSource = swappedTable;
这篇关于如何在 DataGridView 中将行显示为列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文