通过查询,将查询结果各字段以列的形式显示,在线等
我的目的:通过查询一个数据库,把符合条件的数据全部显示,但是要以列的形式显示,比如显示的数据有三个字段,第一列中1.2.3行显示一条数据,第一列4.5.6行显示第二条数据,第一列7.8.9行显示第三条数据,第二列1.2.3行显示第四条数据,第二列4.5.6行显示第五条数据,第二列7.8.9行显示第六条数据,依次类推 ,如何实现 ,如下图显示格式  
----|----|----|
  a1 | c1 | e1 |
----|----|----|
  a2 | c2 | e2 |
----|----|----|
  a3 | c3 | e3 |
---------------
  b1 | d1 | f1 |
----|----|----|
  b2 | d2 | f2 |
----|----|----|
  b3 | d3 | f3 |
------解决方案--------------------
刚试了一下。前提是列数,行数都必须是3的倍数。
界面中二个DataGridView控件和一个按扭。先把原表读进dt后,绑定到DataGridView1,点击按扭时,把转换后的数据绑定到DataGridView2
namespace Sexy
{
   public partial class Form1 : Form
   {
       private DataTable fDt;
       private DataTable dt;
       public Form1()
       {
           InitializeComponent();
           fDt = new DataTable(); //目标表
           fDt.Columns.Add("Col0", typeof(string));
           fDt.Columns.Add("Col1", typeof(string));
           fDt.Columns.Add("Col2", typeof(string));
       }
       private void Form1_Load(object sender, EventArgs e)
       {
           dt = new DataTable();
           using(SqlConnection conn = new SqlConnection("server=(local);database=TEST;uid=sa;pwd=;"))
           {
               SqlCommand cmd = new SqlCommand("select * from Sexy", conn);
               conn.Open();
               dt.Load(cmd.ExecuteReader(CommandBehavior.CloseConnection));
           }
           dataGridView1.DataSource = dt;
       }
       private void button1_Click(object sender, EventArgs e)
       {
           DataRow row = null;
           for(int i = 0; i < dt.Columns.Count; i++)
           {
               for (int j = 0; j < dt.Rows.Count; j++)
               {
                   if ((j % 3) == 0)
                       row = fDt.NewRow();
                   row[j % 3] = dt.Rows[j][i];
                   if (j % 3 == 2)
                       fDt.Rows.Add(row);
               }
           }
           dataGridView2.DataSource = fDt;
       }
   }
}