1.DataSet,DataTable==
dataGrid.DataSource=DataSet.Tables[0].DefaultView;
2.使用属性生成器
3.可以利用选择列来实现,同过SelectIndexChanged事件触发

解决方案 »

  1.   

    1.DataSet,DataTable,DataView,ArrayList
    2.使用System.Windows.Forms.DataGridTableStyle 和System.Windows.Forms.DataGridTextBoxColumn 如下:private void AddPayPlan(DataView dv)
    {
    this.dGPayPlan.TableStyles.Clear();
    this.dGPayPlan.DataSource=dv;
    dv.AllowDelete=false;
    dv.AllowEdit=false;
    dv.AllowNew=false;
    System.Windows.Forms.DataGridTableStyle ts=new DataGridTableStyle();
    ts.MappingName="payPlan";
    System.Windows.Forms.DataGridTextBoxColumn TxtCol=new System.Windows.Forms.DataGridTextBoxColumn(); TxtCol.MappingName="payplanID";
    TxtCol.HeaderText="计划编号";
    TxtCol.Alignment=HorizontalAlignment.Right;
    TxtCol.NullText="";
    TxtCol.ReadOnly=true;
    TxtCol.Width=90;
    ts.GridColumnStyles.Add(TxtCol); TxtCol=new System.Windows.Forms.DataGridTextBoxColumn(); TxtCol.MappingName="planname";
    TxtCol.HeaderText="计划名称";
    TxtCol.Alignment=HorizontalAlignment.Right;
    TxtCol.NullText="";
    TxtCol.ReadOnly=true;
    TxtCol.Width=90;
    ts.GridColumnStyles.Add(TxtCol);
    this.dGPayPlan.TableStyles.Add(ts); }3.DataGrid的mouseDown事件中:
        System.Windows.Forms.DataGrid.HitTestInfo myHitTest;
    myHitTest =dGRecZg.HitTest(e.X,e.Y);
             if (myHitTest.Type == System.Windows.Forms.DataGrid.HitTestType.Cell)
              {
                  DataGrid1.Select(myHitTest.Row);
              }
      

  2.   

    zhpsam109:
    请问HitTestInfo和dGRecZg是什么啊?
      

  3.   

    dGRecZg是一个DataGrid!
    HitTestInfo请你查帮助!
      

  4.   

    1.DataSet(我感觉这个多),DataTable,DataView
    使用datagrid的datasource了
    2.使用DataGridTableStyle,具体看看帮助吧
      

  5.   

    zhpsam109:我要的是另外一个效果,
    就是选择的单元格整行要变颜色
    也就相当于在行标头上点击的效果
      

  6.   

    DataGrid1.Select(i);
    就是把第i+1行变为蓝色!和单击行标一样!
      

  7.   

    你可以把i改变为整数看看不过你的DataGrid中要存在该行,哈哈!