form1,form2,均为mdichild
form1中有一stringgrid,form2中的dbgrid给form1.stirnggrid赋值,关闭form2后,form1.stringgrid的内容没有改变。
form2代码:
Form1.StringGrid1.cells[1,1] := dbgrid1.datasource.dataset.fields.fields[0];
这是怎么回事?

解决方案 »

  1.   

    Form1.StringGrid1.cells[1,1] := dbgrid1.datasource.dataset.fields.fields[0]; //???ShowMessage(DBGrid1.DataSource.DataSet.Fields.Fields[0]) //看看是什么?? 是不是不能运行?//应该是:
    Form1.StringGrid1.cells[1,1] :=DBGrid1.DataSource.DataSet.Fields.Fields[0].AsString; 
    //或者:
    Form1.StringGrid1.cells[1,1] :=DBGrid1.DataSource.DataSet.FieldByName('YouField').AsString;
    //还有很多其它的写法!
      

  2.   

    有asstring的忘写了。没有别的操作,我就想在form2中选择dbgrid后把选中的记录复制到form1的stringgrid中。
      

  3.   

    解决了,是stringgrid显示的行不够,谢谢,揭帖