Bläddra i källkod

wxGUI/dbm: fix trac https://trac.osgeo.org/grass/ticket/227 (column names uppercase, v.db.connect returns key column name lowercase)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@32176 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 17 år sedan
förälder
incheckning
cecf1a0da6
1 ändrade filer med 10 tillägg och 2 borttagningar
  1. 10 2
      gui/wxpython/gui_modules/dbm.py

+ 10 - 2
gui/wxpython/gui_modules/dbm.py

@@ -2872,7 +2872,7 @@ class DisplayAttributesDialog(wx.Dialog):
                     type  = columns[name]['type']
                     type  = columns[name]['type']
                     value = columns[name]['values'][idx]
                     value = columns[name]['values'][idx]
                     id    = columns[name]['ids'][idx]
                     id    = columns[name]['ids'][idx]
-                    if name.lower() != key:
+                    if name != key:
                         self.FindWindowById(id).SetValue(str(value))
                         self.FindWindowById(id).SetValue(str(value))
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
@@ -2992,7 +2992,7 @@ class DisplayAttributesDialog(wx.Dialog):
                     else:
                     else:
                         value = ''
                         value = ''
 
 
-                    if name.lower() == key:
+                    if name == key:
                         box    = wx.StaticBox (parent=panel, id=wx.ID_ANY,
                         box    = wx.StaticBox (parent=panel, id=wx.ID_ANY,
                                                label=" %s %s " % (_("Category"), value))
                                                label=" %s %s " % (_("Category"), value))
                         boxFont = self.GetFont()
                         boxFont = self.GetFont()
@@ -3121,6 +3121,14 @@ class VectorDBInfo:
             else:
             else:
                 return False
                 return False
 
 
+            # check for key column
+            # v.db.connect -g/p returns always key column name lowercase
+            if self.layers[layer]["key"] not in columns.keys():
+                for col in columns.keys():
+                    if col.lower() == self.layers[layer]["key"]:
+                        self.layers[layer]["key"] = col.upper()
+                        break
+            
             self.tables[table] = columns
             self.tables[table] = columns
 
 
         return True
         return True