void MyFrame::OnHeaderClick( wxDataViewEvent &event ) { // we need to skip the event to let the default behaviour of sorting by // this column when it is clicked to take place event.Skip(); int pos = m_ctrl[0]->GetColumnPosition( event.GetDataViewColumn() ); wxLogMessage( "wxEVT_DATAVIEW_COLUMN_HEADER_CLICK, Column position: %d", pos ); wxLogMessage( "Column width: %d", event.GetDataViewColumn()->GetWidth() ); }
//----------------------------------------------------------------------------- void VTable::OnColumnHeaderlClick(wxDataViewEvent &event) { if (!mModel) return; auto clicked_column_no = event.GetColumn(); auto clicked_column = event.GetDataViewColumn(); // очистить всю сортировку и сделать сортировку в выбранном столбце for (unsigned int i = 0; i < mModel->mFieldVec->GetChildQty(); ++i) { auto field = mModel->mFieldVec->at(i)->GetData(); if (i == clicked_column->GetModelColumn()) { switch (field.mSort) { case -1: field.mSort = 0; break; case 0: field.mSort = 1; break; case 1: field.mSort = -1; break; default:break; } mModel->mFieldVec->at(i)->SetData(field); } else if (field.mSort != 0) { field.mSort = 0; mModel->mFieldVec->at(i)->SetData(field); } } //auto itemLimit = mModel->GetClientSize().GetHeight() / mTableView->GetRowHeight() - 1; //mModel->mPageLimit->SetData(itemLimit, true); mModel->mPageNo->SetData(0, true); mModel->Load(); //OnCmdLoad(wxCommandEvent(wxID_REFRESH)); }
void DataModelListCtrl::OnDoubleClick(wxDataViewEvent& event) { EditItem(event.GetItem(), event.GetDataViewColumn()); event.Skip(); }
void DIALOG_LIB_EDIT_PIN_TABLE::OnColumnHeaderRightClicked( wxDataViewEvent& event ) { m_Model->SetGroupingColumn( event.GetDataViewColumn()->GetModelColumn() ); event.Skip(); }
void MyFrame::OnSorted( wxDataViewEvent &event ) { int pos = m_ctrl[0]->GetColumnPosition( event.GetDataViewColumn() ); wxLogMessage( "wxEVT_DATAVIEW_COLUMN_SORTED, Column position: %d", pos ); }
void MyFrame::OnHeaderRightClick( wxDataViewEvent &event ) { int pos = m_ctrl[0]->GetColumnPosition( event.GetDataViewColumn() ); wxLogMessage( "wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, Column position: %d", pos ); }