C#winform dataGridView把一列记录 逗号分别读取出来后,横向读取出来

                dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; ;

                string database = "server=" + label24.Text + ";uid=sa;pwd=******;database=diaocha;Max Pool Size = 512;pooling=false ;";
                SqlConnection scon = new SqlConnection(database);
                scon.Open();
                string sqlstr = @"select 
ROW_NUMBER()OVER(order by id)
,substring(答案, 0, charindex(',', 答案))
,substring(答案, charindex(',', 答案) + 1, len(答案) - (CHARINDEX(',', REVERSE(答案)) - 1) - charindex(',', 答案) - 1)
,substring(答案, len(答案) - (CHARINDEX(',', REVERSE(答案)) - 1) + 1, 10)  from 企业评分记录";
                //满行全选
                dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                SqlDataAdapter sda = new SqlDataAdapter(sqlstr, scon);
                DataTable dt = new DataTable();
                sda.Fill(dt);
                dataGridView1.DataSource = SwapTable(dt);
                scon.Close();

                scon.Dispose();




/////让列 变成行 的方法




private DataTable SwapTable(DataTable tableData)
        {
            int intRows = tableData.Rows.Count;
            int intColumns = tableData.Columns.Count;
            //转二维数组
            string[,] arrayData = new string[intRows, intColumns];
            for (int i = 0; i < intRows; i++)
            {
                for (int j = 0; j < intColumns; j++)
                {
                    arrayData[i, j] = tableData.Rows[i][j].ToString();
                }
            }
            //下标对换
            string[,] arrSwap = new string[intColumns, intRows];
            for (int m = 0; m < intColumns; m++)
            {
                for (int n = 0; n < intRows; n++)
                {
                    arrSwap[m, n] = arrayData[n, m];
                }
            }
            DataTable dt = new DataTable();
            //添加列
            for (int k = 0; k < intRows; k++)
            {
                dt.Columns.Add(
                        new DataColumn(arrSwap[0, k])
                    );
            }
            //添加行
            for (int r = 1; r < intColumns; r++)
            {
                DataRow dr = dt.NewRow();
                for (int c = 0; c < intRows; c++)
                {
                    dr[c] = arrSwap[r, c].ToString();
                }
                dt.Rows.Add(dr);
            }
            //添加行头
            DataColumn ColRowHead = new DataColumn(tableData.Columns[0].ColumnName);
            dt.Columns.Add(ColRowHead);
            dt.Columns[ColRowHead.ColumnName].SetOrdinal(0);
            for (int i = 0; i < intColumns - 1; i++)
            {
                dt.Rows[i][ColRowHead.ColumnName] = tableData.Columns[i + 1].ColumnName;
            }
            return dt;
        }






C#winform_dataGridView把一列记录_逗号分别读取出来后,横向读取出来




winform代码
桂ICP备16004754号