左边有一些选项:
 浙江省
 福建省
 广东省
 
 右边的选项随左边的改变而改变:
 比如当我选择了 浙江省后,在右边显示杭州、宁波、温州等
 当我选择了福建省后,右边显示 福州、厦门等
 当我选择了广东省后,右边显示 深圳、广州等
如何解决?
请高手指点,先谢了/

解决方案 »

  1.   

    使用什么做?使用数据库还是直接把城市写在code里?或者是把信息写道ini文件里?
      

  2.   

    如果你用数据库就好办了,你可以建两个表一个PROVINCE表,一个CITY表
    其它的你应该知道吧 明细表
      

  3.   

    问题是要用到dbrichedit组件?如何使用?
    比如,我在表 T1中建如下字段:
     No    city
     1      浙江
     2      福建
    表 T2 :
     NO    cityNo     diqu
     1       1        杭州
     2       1        宁波
     3       1        温州
     4       2        福州
     5       2        厦门如何解决?
    我不会用dbrichedit组件,请指点。先谢了。
      

  4.   

    1:可以使用数据库明细表
      2:若不使用数据库,可以使用静态输出的形式。
          例:if  浙江 被选择  then 
              if  江苏 被选择  then
      

  5.   

    用combobox举例:
    左边的combobox在OndropDown事件中
    query1.sql.clear;
    query1.sql.add('select city from T1');
    query1.open;
    for i:=0 to query1.recordcount-1 do
    begin
      if combobox1.items.indexof(query1.fieldbyname('city').asstring)=-1 then
      combobox1.items.add(query1.fieldbyname('city').asstring);
      query1.next;
    end;
    在combobox1的OnChange事件中写:
     
    combobox2.items.clear;
    if combobox1.text<>'' then
    begin
      query1.sql.clear;
      query1.sql.add('select a.dq from T2 as a,T1 as b where b.city='''+combobox1.text+''' and b.No=a.cityno');
      query1.open;
      for i:=0 to query1.recordcount-1 do 
      begin
        if combobox2.items.indexof(query1.fieldbyname('dq').asstring)=-1 then
        combobox2.items.add(query1.fieldbyname('dq').asstring);
        query1.next;
      end;
    end;
      

  6.   

    主从表 或者就用一个表 城市名做主建 后面一个字段是省份 写SQL
      

  7.   

    to minercxy(Codewhy) ( ) :这段代码什么意思?
    if combobox1.items.indexof(query1.fieldbyname('city').asstring)=-1 then
      combobox1.items.add(query1.fieldbyname('city').asstring);
      

  8.   

    就是如果这个值不在cmbobox1的列表中,就将其加入。如果你的city是主键,或者不会重复的话,这句可以省了。我这样写是为了使其更具有通用性。
    保证combobox1列表中的项是不重复的