docs: def updateColumnValue(self, column, value, index=None):
          """
          Assigns the value for the column of this record to the inputed value.
          
          :param      index | <int>
                      value | <variant>
          """
          if index is None:
              index = self.treeWidget().column(column.name())
          
          if type(value) == datetime.date:
              self.setData(index, Qt.EditRole, wrapVariant(value))
          elif type(value) == datetime.time:
              self.setData(index, Qt.EditRole, wrapVariant(value))
          elif type(value) == datetime.datetime:
              self.setData(index, Qt.EditRole, wrapVariant(value))
          elif type(value) in (float, int):
              if column.enum():
                  self.setText(index, column.enum().displayText(value))
              else:
                  self.setData(index, Qt.EditRole, wrapVariant(value))
          elif value is not None:
              self.setText(index, nativestring(value))
          else:
              self.setText(index, '')
          
          self.setSortData(index, value)
          
          # map default value information
          try:
              mapper = self.treeWidget().columnMappers().get(column.columnName())
          except AttributeError:
              mapper = None
          
          if mapper is None:
              form = column.stringFormat()
              if form:
                  mapper = form.format
          
          if mapper:
              self.setText(index, mapper(value))