form_print_change.DBGrid1.DataSource:=form_client.DBGrid1.DataSource;
结果,form_print_change.DBGrid1的列的顺序和form_client.DBGrid1烈的顺序不一样。
请指教。

解决方案 »

  1.   

    form_client.DBGrid1
    form_print_change.DBGrid1
    可能有一个DBGRID的列是设计时创建的或程序代码添加的,顺序可能和表的字段不一致。而另一个DBGRID是由DELPHI自动关联的,顺序和表的字段顺序一致。如果你用的是动态字段的话
      

  2.   

    在列编辑器中把两个dbgrid的列都清空(双击dbgrid)
      

  3.   

    这种方法似乎能够实现:form_print_change.DBGrid1.DataSource:=form_client.DBGrid1.DataSource;
    for i:=0 to form_client.DBGrid1.Columns.Count-1 do
    begin
      str_cap:=form_client.DBGrid1.Columns[i].Title.Caption;
      form_print_change.DBGrid1.Columns.Add;
      form_print_change.DBGrid1.Columns[i].Title.Caption:=str_cap;
      form_print_change.DBGrid1.Columns[i].FieldName := form_client.DBGrid1.Columns[i].FieldName;
    end;
      

  4.   

    固定字段顺序错乱
    dbgrid列信息错乱
    看看