我用了一个ComboBox控件和一个StringGrid控件,在StringGrid控件中所显示的内容是根据ComboBox控件的条件从数据库中检索出的内容。但当我改变ComboBox控件的条件时,若在数据库中没有相应内容,则在StringGrid中所显示的仍然是前一个ComboBox控件的内容,这该如何改?请指教!!!!  

解决方案 »

  1.   

    在你响应ComboBox改变的代码之前简单加一个循环:
    var nLoop: Integer;
    begin
      for nLoop := 0 to StringGrid.Cols.Count - 1 do
        StringGrid.Cols[nLoop].Clear;
      ...
    end;
      

  2.   

    用一个循环将单元格内容清空即可
    var x,y:integer;
    begin
        for x:=0 to stringgrid.cols.count-1 do
        beginStringGrid.Cells[x,y]='';
      

  3.   

    用一个循环将单元格内容清空即可
    var x,y:integer;
    begin
        for x:=0 to stringgrid.cols.count-1 do
        begin
            for y:=1 to stringgrid.rows.count-1 do//从第一行数据开始清空,最顶上一行应该是你的标签吧
            begin
               StringGrid.Cells[x,y]='';
            end;
        end;
      

  4.   

    这不太easy了?
    再combobox的onchange中,查询数据库
    if 记录条数>0 then 该stringgrid 
    esle 不改//这种情况可省略