I have below sample data available in database
SrNo | String
1 | Data1
2 | Data2
3 | Data3
4 | Data2
5 | Data1
String column value can be duplicate. User can also filter data displayed in wxDataViewListCtrl using wxSearchCtrl, so ID number displayed inside wxDataViewListCtrl might change based on filter used by user.
https://docs.wxwidgets.org/3.0/classwx_data_view_list_ctrl.html
Using example shown above link, inserting data from database into listctrl with a while loop. sample code is below.
wxDataViewListCtrl *listctrl = new wxDataViewListCtrl( parent, wxID_ANY );
listctrl->AppendTextColumn( "String Data" );
wxVector<wxVariant> data;
data.push_back( wxVariant("Data1") );
listctrl->AppendItem( data );
data.clear();
data.push_back( wxVariant("Data2") );
listctrl->AppendItem( data );
How to get SrNo of Selected row? in below code? Do I need to use wxDataViewModel? I didn't find any examples for the same
if(listctrl->GetSelectedRow() != wxNOT_FOUND){
wxLogMessage("Select Item Id: %i -",listctrl->RowToItem(listctrl->GetSelectedRow()).GetID() );
}else{
wxMessageBox("Please Select row", strappName,wxICON_INFORMATION|wxCLOSE);
}
Tried below sample code but it crashes with segmentation fault. Looking for sample code
listctrl->SetItemData(wxDataViewItem (reinterpret_cast<void *>(iRowCount)),std::stoi(SrNo))