Logo Search packages:      
Sourcecode: facturalux version File versions  Download package

void FLSqlCursor::refresh ( QString  fN = QString::null  )  [slot]

Refresca el contenido del cursor.

Si no se ha indicado cursor relacionado obtiene el cursor completo, segun la consulta por defecto. Si se ha indicado que depende de otro cursor con el que se relaciona, el contenido del cursor dependerá del valor del campo que determina la relación. Si se indica el nombre de un campo se considera que el buffer sólo ha cambiado en ese campo y así evitar repeticiones en el refresco.

Parameters:
fN Nombre del campo de buffer que ha cambiado.

Definition at line 81 of file FLSqlCursor.cpp.

References BROWSE, cursorRelation, cursorUpdated(), FLTableMetaData::field(), FLRelationMetaData::field(), FLRelationMetaData::foreignField(), FLManager::formatValue(), metadata_, modeAccess_, relation, seek(), select(), and valueBuffer().

Referenced by browseRecord(), FLReceiver::calculateCounter(), editRecord(), FLSqlCursor(), and FLTableDB::show().

{
  if (!metadata_)
      return;

  if (cursorRelation && relation && metadata_)
      {
        QString fgN = relation->foreignField ();
        if (fN.isEmpty () || fgN == fN)
            {
              QString fgValue = cursorRelation->valueBuffer (fgN).toString ();
              select ("upper(" + relation->field () + ")=" + FLManager::formatValue (metadata_->field (relation->field ()), QVariant (fgValue.upper ())));
              modeAccess_ = BROWSE;
              seek (0);
              emit cursorUpdated ();
            }
      }
  else
      {
        select ("");
        modeAccess_ = BROWSE;
        seek (0);
        emit cursorUpdated ();
      }
}


Generated by  Doxygen 1.6.0   Back to index