Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Rendere una cella di TableView non editable
Forum Updated to NodeBB v4.3 + New Features

Rendere una cella di TableView non editable

Scheduled Pinned Locked Moved Solved Italian
2 Posts 2 Posters 785 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Bruschetta
    wrote on last edited by
    #1

    Vorrei sapere se esiste la maniera di rendere non editabile uno dei campi di un record all'interno di una tableview.
    Vi posto del codice di esempio.

     QSqlTableModel *model = new QSqlTableModel(this,db);
    
            model->setTable("Persona");
            model->setEditStrategy(QSqlTableModel::OnFieldChange);
    
            model->setHeaderData(0, Qt::Horizontal, tr("Id"));
            model->setHeaderData(1, Qt::Horizontal, tr("Nome"));
            model->setHeaderData(2, Qt::Horizontal, tr("Cognome"));
            model->setHeaderData(3, Qt::Horizontal, tr("Telefono"));
            model->setHeaderData(4, Qt::Horizontal, tr("Cellulare"));
            model->setHeaderData(5, Qt::Horizontal, tr("Fax"));
            model->setHeaderData(6, Qt::Horizontal, tr("Email"));
    
            model->select();
    

    Posso rendere non editabile i campi nome e conogme della seguente tabella?
    Grazie. Spero sappiate damri un consiglio

    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by VRonin
      #2

      usa questa classe come proxy model

      // FlaggableProxy* flaggableProxy
      flaggableProxy->setSourceModel(model);
      for(int colIndex : {1,2} /*Colonne che non possono essere cambiate*/)
      flaggableProxy->setFlagForColumn(colIndex, flaggableProxy->flagForColumn(colIndex) & (~Qt::ItemIsEditable));
      

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved