drMy[0] = strFld1;
改为drMy[0][0] = strFld1;
一开始生成两列的表格。后来赋值时不对。

解决方案 »

  1.   

    哪句出错也不说清楚
    你有没有设置TableStyles,如果没有这句就是错的
    dataGrid1.TableStyles[0].MappingName="qq";
      

  2.   

    先申明:我不是高手你是不是不要在下面那个方法里面对table的row进行添加?而是直接对你的MyTable进行row的添加?可能是你做的添加未对原始表产生作用(能不能用ref参数,我就不确定了)
      

  3.   

    dataGrid1.TableStyles.Add(new DataGridTableStyle());
      

  4.   

    to lansluo:
    不需要ref, DataTable本身上引用类型
      

  5.   

    hehe,刚才没看清,回答作废。
    就当作up把
      

  6.   

    这句有错误:
      dataGrid1.TableStyles[0].MappingName="qq";
    其他部分都正确。
      

  7.   

    DataTable tb=new DataTable("qq");
    DataRow dr;
    DataRow dr1;
    tb.Columns.Add("aa");
    tb.Columns.Add("bb");

    dr=tb.NewRow();
    dr["aa"]="军警";
    dr["bb"]="大东海";
    tb.Rows.Add(dr);
    dr1=tb.NewRow();
    dr1[0]="无几";
    dr1[1]="东海";
    tb.Rows.Add(dr1);
    dataGrid1.DataSource=tb;
      

  8.   

    加上xingd兄的:
    dataGrid1.TableStyles.Add(new DataGridTableStyle());
    就OK.
      

  9.   

    private void button1_Click(object sender, System.EventArgs e)
    {
    DataTable myTab = new DataTable("tabT");
    myTab.Columns.Add("fld1", typeof(String));
    myTab.Columns.Add("fld2" , typeof(String));
    try
    {
    this.aaa(myTab,"dsfsdf","dfdsf");
    //方法1:
    // this.dataGrid1.ColumnHeadersVisible=false;
    // dataGrid1.TableStyles.Add(new DataGridTableStyle());
    // dataGrid1.TableStyles[0].MappingName="qq";
    // dataGrid1.DataSource=myTab;
    //方法2:
    this.dataGrid1.ColumnHeadersVisible=false;
    this.dataGrid1.SetDataBinding(myTab,""); }
    catch(Exception a)
    {
    MessageBox.Show(a.Message.ToString()+"!"+myTab.Columns.Count.ToString(),"信息窗口",
    System.Windows.Forms.MessageBoxButtons.OK,MessageBoxIcon.Information);
    }
    }
    public void aaa(DataTable myDT,string strFld1,string strFld2)
    {
    DataRow drMy = myDT.NewRow();
    drMy[0] = strFld1;
    drMy[1] = strFld2;
    myDT.Rows.Add(drMy);
    }
      

  10.   

    谢谢各位,兄弟实在着急,以前是做c#.net,现做winfrom,实在找不到解决的办法,哈都对!给分少,勿怪!