Hi,
I could manage to achieve what I expected. I'm putting the code here.
//Initial setup - 3 columns, 3 empty rows
p_TableFields = new QStandardItemModel(this);
p_TableFields->insertColumns(0, 3);
p_TableFields->insertRows(0, 3);
p_TableFields->setHeaderData(0, Qt::Horizontal, tr("Field Name"));
p_TableFields->setHeaderData(1, Qt::Horizontal, tr("Data Type"));
p_TableFields->setHeaderData(2, Qt::Horizontal, tr("Description"));
tblFields->setModel(p_TableFields);
connect(tblFields->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(OnSelect(const QItemSelection&, const QItemSelection&)));
//OnSelect
QModelIndexList RowsSelected = tblFields->selectionModel()->selectedRows();
//Check if first row selected
QModelIndex firstElement = p_TableFields->index(0, 0);
bool hasFirstRow = RowsSelected.contains(firstElement);
//Check if last row selected
QModelIndex lastElement = p_TableFields->index((p_TableFields->rowCount()-1), 0);
bool hasLastRow = RowsSelected.contains(lastElement);
btnMoveUp->setEnabled(!hasFirstRow);
btnMoveDown->setEnabled(!hasLastRow);
FirstRowSelected.pngLastRowSelected.png
Bookmarks