データグリッドに 4 つの列があります。マニュアルには、データベースから派生した列をソートする方法の例が示されています。array('OrderByClause' => QQ::OrderBy(QQN::Pubs()->Name)
ただし、計算結果でソートしたい $_FORM->getDistance($_ITEM)
私がこれまでに持っているのはこれです:
$this->dtgPersons->AddColumn(new QDataGridColumn('Row Number', 'CurrentRowIndex + 1) ?>'));
$this->dtgPersons->AddColumn(new QDataGridColumn('Pub Name', 'Name ?>', 'Width=200', //)); array('OrderByClause' => QQ::OrderBy(QQN::Pubs()->Name), 'ReverseOrderByClause' => QQ::OrderBy(QQN::Pubs()->Name, false))));
$this->dtgPersons->AddColumn(new QDataGridColumn('Street', 'Address1 ?>', 'Width=200', array('OrderByClause' => QQ::OrderBy(QQN::Pubs()->Address1)) , 'ReverseOrderByClause' => QQ::OrderBy(QQN::Pubs()->Address1, false))));
$this->dtgPersons->AddColumn(new QDataGridColumn('場所からの距離', 'getDistance($_ITEM) ?>', 'Width=300'));
この次の行は、並べ替えのある列で機能します
$this->dtgPersons->SortColumnIndex = 2;