http://expert.csdn.net/Expert/topic/2177/2177916.xml?temp=.2734339这里应该有你要的内容

解决方案 »

  1.   

    对了,还有我要改标题的英文字段改成中文名称,比如将Code改成“编码”,请各位指教。
      

  2.   

    1.【改标题的英文字段改成中文名称】可以直接在datagrid的属性中改。
    2.也可以在select语句中使用,如下:
    select field1 字段1,field2 字段2,field3 字段3 from myTable where ...
    这样得到的标题就是【字段1、字段2、字段3】了。
      

  3.   

    至于保存数据:
    因为你对datagrid进行数据绑定,所以可以用数据适配器的update方法进行保存数据。
    如下:
    1.绑定方法:
    private void DataGridBinding (OleDbConnection conn)
    {
      if(conn.State==ConnectionState.Closed)
          conn.Open();
      this.oleDbDataAdapter1.SelectCommand.CommandText=
      "select field1 字段1,field2 字段2,field3 字段3 from myTable";
      this.dataSet1.Table["myTable"].Clear();
      this.oleDbDataAdapter1.Fill(this.dataSet1,"myTable");
      this.dataGrid1.DataSource=this.dataSet1;
      this.dataGrid1.DataMember=this.dataSet1.Table["myTable"].ToString();
    }
    2.保存方法:
    private void SaveData()
    {
      this.BindingConText[this.dataSet1,"myTable"].EndCurrentEdit();
      this.oleDbDataAdapter1.Update(this.dataSet1,"myTable");
    }
    别忘了上面的数据绑定是用数据适配器向导生成this.oleDbDataAdapter1和this.dataSet1以后做的。
      

  4.   

    91bct(菠菜) 先生,我想问你两件事:
    1:表格的标题头用控件属性如何修改?
    2:你的保存方法我试过了,在表格中新增一条数据后保存是没有问题的。可是当我修改一条记录的时候,用您的SaveData()就会蹦出个异常来。这是为什么呢,请您指教。
      

  5.   

    dataGrid1.DataSource = thisDataSet.Tables["作业"]; DataGridTableStyle dgts = new DataGridTableStyle(); 
     
    dgts.MappingName = "作业"; 
    DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
    TextCol.MappingName = "ID";
    TextCol.HeaderText = "序号";
    TextCol.Width = 0;
    dgts.GridColumnStyles.Add(TextCol); TextCol = new DataGridTextBoxColumn();
    TextCol.MappingName = "科目";
    TextCol.HeaderText = "科目";
    TextCol.Width = 60;
    dgts.GridColumnStyles.Add(TextCol);
    这样就可以重新设置你的列名了;如果不想要显示该列只要将width属性设为0即可,
    dataGrid1.CaptionText="你好";这样就可以将datagrid的标题头设置。保存datagrid中某单元格的更改可以这样:
    string sqlSelect="SELECT ID,分数 FROM 成绩 WHERE 年级="+"'"+Form2.toNew5+"'"+"AND 班级="+"'"+Form2.toNew6+"'"+"AND 日期="+"'"+Form2.selectDate1+"'"+"AND 科目="+"'"+Form2.kemu1+"'"+"AND 类型="+"'"+Form2.leixing+"'"; thisConnection.Open(); SqlDataAdapter thisAdapter=new SqlDataAdapter(sqlSelect,thisConnection); SqlCommandBuilder thisBuilder=new SqlCommandBuilder(thisAdapter);            thisAdapter.Update(thisDataSet,"成绩"); thisConnection.Close(); MessageBox.Show("更新成功!");
    只要将你要更改的列先加载到adpter中,象这样:SELECT ID,分数,... FROM 成绩,然后调用update就可以更新了
      

  6.   

    to xshmeng(爽爽) :
    1.代码如下:
    DataGridTableStyle ts  = new DataGridTableStyle();
    DataGridColumnStyle cs2 = new DataGridTextBoxColumn();
    cs2.HeaderText = "标题";  //设置表格的标题头
    cs2.Width = 550;
    cs2.MappingName = InfoData.TOPIC_FIELD;
    cs2.ReadOnly = false; ts.GridColumnStyles.Add(cs2);
    ts.SelectionBackColor = Color.Brown;
    ts.GridColumnStyles.Add(cs1);
    dataGrid1.TableStyles.Add(ts);
    2.如果是单表操作的话,有可能的SqlDataAdapter.UpdateCommand没有设置好;
    但是如果是多表更新的话,涉及的知识就比较多
    你得参考“ADO.NET 中的数据并发”
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbtskPerformingOptimisticConcurrencyChecking.htm