集思人
路人甲
路人甲
  • 注册日期2004-10-15
  • 发帖数62
  • QQ
  • 铜币443枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1119回复:2

帮个忙吧!!!!!!

楼主#
更多 发布于:2005-03-28 09:04
<P>小第做专题图时有个小问题  或许很菜的  不过新手吗  希望大家能给点帮助</P>
<P>我在  窗体中建了两个combo1,combo2,分别代表专题图类型和专题图层  又建了两个list  一个代表单选的  字段field一个代表多选的field,还有两个command  代码如下  ,其中最后一段有问题  不知道怎么解决  ,  高手看一下给解决一下  也让菜鸟好知道为什么    谢谢了</P>
<P>Private Sub Combo1_Click()
   Select Case Combo1.ListIndex
      
       Case 0
          ThemeType = 0 'miThemeRanged   Ranges Theme
          SingleList.Visible = True
          MultiList.Visible = False
       Case 1
          ThemeType = 1 'miThemeBarChart Bar Chart Theme
          SingleList.Visible = False
          MultiList.Visible = True
       Case 2
          ThemeType = 2 'miThemeBarChart Pie Chart Theme
          SingleList.Visible = False
          MultiList.Visible = True
       Case 3
          ThemeType = 3 'miThemeGradSymbol   Graduated Symbol Theme
          SingleList.Visible = True
          MultiList.Visible = False
       Case 4
          ThemeType = 4 'miThemeDotDensity   Dot Density Theme
          SingleList.Visible = True
          MultiList.Visible = False
       Case 5
          ThemeType = 5 'miThemeIndividualValue  Individual Values Theme
          SingleList.Visible = True
          MultiList.Visible = False
       Case 6
          ThemeType = 6 'miThemeAuto
          SingleList.Visible = False
          MultiList.Visible = True
    End Select
End Sub
    </P>
<P>Private Sub Command1_Click()
  Dim TmpInt As Integer
    Dim i As Integer, j As Integer
    Dim ds As MapXLib.Dataset
    
    Set ds = Formmain.Map1.Datasets.Item(ToolBars.Combo2.Text)
    
    Select Case Combo1.ListIndex
      
       Case 0, 3, 4, 5
      
         If SingleList.SelCount = 0 Then
            MsgBox "请先选择字段", , "制作专题图"
            Exit Sub
         End If
        
         ds.Themes.Add ThemeType, SingleList.Text</P>
<P>       Case 1, 2, 6
         j = 0
         If MultiList.SelCount = 0 Then
            MsgBox "请先选择字段", , "制作专题图"
            Exit Sub
         End If
         TmpInt = MultiList.SelCount
         ReDim ThemeFields(TmpInt - 1)
         For i = 0 To MultiList.ListCount - 1
           If MultiList.Selected(i) Then
              ThemeFields(j) = MultiList.List(i)
              j = j + 1
           End If
         Next i
         ds.Themes.Add ThemeType, ThemeFields
        
    End Select
      
          
    Unload Me</P>
<P>End Sub
Private Sub Command2_Click()
    Unload Me
End Sub
Private Sub Form_Load()
    Dim ds As MapXLib.Dataset
    Dim i As Integer
    Dim j As Integer, nLayerCount As Integer
    
    
    Combo1.AddItem "范围图"
    Combo1.AddItem "直方图"
    Combo1.AddItem "饼图"
    Combo1.AddItem "等级符号图"
    Combo1.AddItem "点密度图"
    Combo1.AddItem "独立值图"
    Combo1.AddItem "默认"
    
    Combo1.ListIndex = 6
  '加载图层列表
    
   If Trim(Combo2.Text) <> "" Then
       Set ds = frmmain.Map1.Datasets(Combo2.Text)
       For i = 1 To ds.Fields.Count
         If ds.Fields.Item(i).Type = miTypeNumeric Then
            SingleList.AddItem ds.Fields.Item(i).Name
            MultiList.AddItem ds.Fields.Item(i).Name
         End If
       Next i
      
       If SingleList.ListCount > 0 Then SingleList.ListIndex = 0
       If MultiList.ListCount > 0 Then MultiList.ListIndex = 0
  End If
</P>
喜欢0 评分0
happyboy75
路人甲
路人甲
  • 注册日期2003-07-27
  • 发帖数89
  • QQ
  • 铜币667枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-03-28 14:06
<P>你查一下是不是数据绑定的名字重复了</P><P>你点多几次就会出现问题,或者你其他模块里边已经绑定了数据就可能出问题。</P>
想换工作:现在的工作有点偏离GIS 求职意向:GIS应用与开发(mo、mapx、mapengine) 开发语言:vb、delphi 数据库:SQL server、DB2 happyboy075@163.com qq:122761955
举报 回复(0) 喜欢(0)     评分
集思人
路人甲
路人甲
  • 注册日期2004-10-15
  • 发帖数62
  • QQ
  • 铜币443枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-03-29 00:12
不是吧   图层属性绑定  不会只能局限于一个吧  高手再给看看啊
举报 回复(0) 喜欢(0)     评分
游客

返回顶部