谢谢

解决方案 »

  1.   

    DBGridEh.DataSource.DataSet.FieldByName('kkk').ReadOnly := false;
      

  2.   

    在和DBGridEh相连的数据集(ClientDataSet)中的相应列修改属性
      

  3.   

    DBGridEh.Columns[i].ReadOnly := false
      

  4.   

    在dbgrid的oncellclick中写如下:
    if not column.Field=dbgrid1.Fields[0] then
       begin
       DataSource1.AutoEdit:=false;
       dbgrid1.Options:=[dgTitles,dgIndicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,dgConfirmdelete];
       end
    else
       begin
       DataSource1.AutoEdit:=true;
       dbgrid1.Options:=[dgEditing,dgTitles,dgIndicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,dgConfirmdelete];
       end;
      

  5.   

    BlackPoint(黑点) 你的方法不行
      

  6.   

    with DBGridEh do
      begin
        Columns.Clear;
        Columns.Add;
        Columns[i].FieldName := 'ffff';
        Columns[i].Width := 16;
        Columns[i].Title.Caption := 'ffff';
        Columns[i].Title.Alignment := myDict[i].TitleAlignment;
        Columns[i].ReadOnly := false;
      end;
      

  7.   

    先把所有列都清掉然后在自己加列,只要设置要修改的那列的ReadOnly=false就行了
      

  8.   

    更简单的办法是先设DBGridEh.ReadOnly := false;
    再设除要修改的列外所有的列的DBGridEh.Columns[i].ReadOnly := true;