dbgrid中的一个字段是一个编号 现在我想让他显示对应的内容 怎么做?
   数据库中的字段是英文的 我想把他换成中文的 我更改了字段的caption属性
已经改过来了 但是程序一运行 就变成了英文 怎么解决?
   由于数据库中的字段类型时varchar型的 dbgrid显示的时候会有很大的空格 如果我希望长度和我的内容大小相同的话 怎么做?

解决方案 »

  1.   

    在dbgrid上单击右键,选择columns editor 
    添加后,然后设置
      

  2.   

    双击你的dbgird控件,在弹出窗口中,可以到编辑columns的编辑器,点黄色的add news 就可以依次添加了,和数据库字段对应,然后选中每个添加的项,在它的caption属性里改为想要的汉语名字,就可以了.空格可以在属性里,把它的 width属性定死,就好了
      

  3.   

    dbgrid中的一个字段是一个编号 现在我想让他显示对应的内容 怎么做?
    这个问题怎么解决?
      

  4.   

    你们没明白我的意思 我把所有的字段都放到columns的编辑器后 把它的caption属性改成汉字了(我的题中已经说了)而且我看到了使中文的 但是程序一运行 就是英文的了
      

  5.   

    你们没明白我的意思 我把所有的字段都放到columns的编辑器后 把它的caption属性改成汉字了(我的题中已经说了)而且我看到了使中文的 但是程序一运行 就是英文的了你指的是dbgrid的内容变成英文的了,是吗?因为你数据库的内容是英文的,而你内有对数据库做处理。
      

  6.   

    他是另一个表的主键值  我要显示他对应的内容
    1。用TABLE做一查询字段
    2。用QUERY拼SQL
      

  7.   

    晕  
    指的是dbgrid显示的字段名又变成英文的了
    1。用TABLE做一查询字段
    2。用QUERY拼SQL
    详细点
      

  8.   

    //使dbGrid的内容自动适应他的宽度
    procedure MakeDBGridColumnsAutoFixItsWidth(objDBGrid:TDBGrid);
    var
      cc:integer;
      i,tmpLength:integer;
      objDataSet:TDataSet;
      aDgCLength:array of integer;
    begin
      cc:=objDbGrid.Columns.Count-1;
      objDataSet:=objDbGrid.DataSource.DataSet;
      setlength(aDgCLength,cc+1);
      file://取标题字段的长度
      for i:=0 to  cc do
      begin
        aDgCLength[i]:= length(objDbGrid.Columns[i].Title.Caption);
      end;  objDataSet.First;
      while not objDataSet.Eof do
      begin
        file://取列中每个字段的长度
        for i:=0 to  cc do
        begin
          tmpLength:=length(objDataSet.Fields.Fields[i].AsString);
          if tmpLength>aDgCLength[i]
          then aDgCLength[i]:=tmpLength;
        end;
        objDataSet.Next;
      end;
      for i:=0 to  cc do
      begin
        objDbGrid.Columns[i].Width:=aDgCLength[i]*7;
      end;
    end;
    转过来的,不知道行不行!
      

  9.   

    http://blog.csdn.net/newsunet/archive/2004/07/14/41200.aspx
      

  10.   

    现在只剩下最后一个问题了:
      dbgrid中某一个字段是另一个表的主键值  我要显示他对应的内容 如何做?
    请比较详细地说出方法