有一个二维数组table 使其内容显示在datagridview中,代码如下,但是不显示,该怎么解决private void button2_Click(object sender, EventArgs e)
  {
  DataTable dt = new DataTable();
  for (int i = 0; i < TABLE.GetLength(0); i++)
  {
  DataColumn newc = new DataColumn(i.ToString(),TABLE[1,0].GetType());
  dt.Columns.Add(newc);
  }
  for (int i = 0; i < TABLE.GetLength(0); i++)
  {
  DataRow newr = dt.NewRow();
  for (int j = 0; j < TABLE.GetLength(1); j++)
  {
  newr[j.ToString()] = TABLE[i, j];
  }
  dt.Rows.Add(newr);
  }
  this.bindingSource1.DataSource = dt;
  this.dataGridView1.DataSource = this.bindingSource1;
  }

解决方案 »

  1.   

    int[,] TABLE = new int[,] { { 1, 2, 3 }, { 4, 5, 6 } };
    DataTable dt = new DataTable();
    for (int i = 0; i < TABLE.GetLength(1); i++)
    dt.Columns.Add(i.ToString(), typeof(int));
    for (int i = 0; i < TABLE.GetLength(0); i++)
    {
    DataRow dr = dt.NewRow();
    for (int j = 0; j < TABLE.GetLength(1); j++)
    dr[j] = TABLE[i, j];
    dt.Rows.Add(dr);
    }
    this.dataGridView1.DataSource = dt;
      

  2.   

    dataGridView不要设任何属性,怎么我这里是显示的呢
      

  3.   

    嗯 我又新弄了个dataGridView 好了 可是TABLE换成string类型的就不好使了
      

  4.   

    可以啊,把typeof(int)改成typeof(string)就行了
      

  5.   

    第0行设为列名:
    string[,] TABLE = new string[,] { { "field1", "field2" }, { "c", "d" }, { "e", "f" } };
    DataTable dt = new DataTable();
    for (int i = 0; i < TABLE.GetLength(1); i++)
    dt.Columns.Add(TABLE[0, i], typeof(string));
    for (int i = 1; i < TABLE.GetLength(0); i++)
    {
    DataRow dr = dt.NewRow();
    for (int j = 0; j < TABLE.GetLength(1); j++)
    dr[j] = TABLE[i, j];
    dt.Rows.Add(dr);
    }
    this.dataGridView1.DataSource = dt;
    第0列设为行名,这个不懂什么意思?行还有名字?
      

  6.   

    自己转成C#代码        dgv.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders
            Dim a As DataGridViewRowHeaderCell = New DataGridViewRowHeaderCell()
            a.Value = "dsadsadsad"
            dgv.Rows(0).HeaderCell = a
      

  7.   

    我查了下资料,你试试这个:
    string[,] TABLE = new string[,] { { " ", "field1", "field2" }, { "row1", "a", "b" }, { "row2", "c", "d" } };
    int index = 0;
    private void Form1_Load(object sender, EventArgs e)
    {
    DataTable dt = new DataTable();
    for (int i = 1; i < TABLE.GetLength(1); i++)
    dt.Columns.Add(TABLE[0, i], typeof(string));
    for (int i = 1; i < TABLE.GetLength(0); i++)
    {
    DataRow dr = dt.NewRow();
    for (int j = 0; j < TABLE.GetLength(1) - 1; j++)
    dr[j] = TABLE[i, j + 1];
    dt.Rows.Add(dr);
    }
    dataGridView1.DataSource = dt;
    } private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
    {
    if (e.RowIndex >= 0 && e.RowIndex < TABLE.GetLength(1) - 1)
    {
    SolidBrush B = new SolidBrush(Color.Red);
    e.Graphics.DrawString(Convert.ToString(this.TABLE[index + 1, 0], System.Globalization.CultureInfo.CurrentUICulture), e.InheritedRowStyle.Font, B, e.RowBounds.Location.X + 10, e.RowBounds.Location.Y + 4);
    index++;
    }
    }