📄 routeresultgrid.cpp
字号:
#include "Common.h"
#include "RouteResultGrid.h"
CRouteResultGrid::SORT_TYPE CRouteResultGrid::m_sortType = ST_NONE;
void CRouteResultGrid::Init()
{
Attach(StationRouteResultGadget, StationRouteResultVScrollBar, StationRouteResultHScrollBar);
SetGridStyle(CCustomGrid::GS_DRAWBORDER |
// CCustomGrid::GS_USESTATUSCOLUMN |
CCustomGrid::GS_USEHEADER |
CCustomGrid::GS_DIVIDEROWS |
CCustomGrid::GS_DIVIDECOLUMNS |
CCustomGrid::GS_GRAYLINES |
CCustomGrid::GS_HANDLESCROLLKEYS |
CCustomGrid::GS_RESIZABLECOLUMNS);
SetGridMode(CCustomGrid::GM_FULLROWSELECT);
InsertColumn("路线名", 80);
InsertColumn("方向", 35);
InsertColumn("第几", 35);
SetColumnStyle(0, CCustomGrid::CS_VISIBLE | CCustomGrid::CS_SORTABLE);
SetColumnStyle(1, CCustomGrid::CS_VISIBLE | CCustomGrid::CS_SORTABLE);
SetColumnStyle(2, CCustomGrid::CS_VISIBLE | CCustomGrid::CS_SORTABLE);
/*
for (int i = 0; i < 30; i++) {
CItemData& rData = m_arrItems.Add();
rData.m_RouteName.Format("s%d", i);
rData.m_Dir = i / 15;
rData.m_Index = i;
}
*/
SetRowCount(0);
OnColumnClick(2);
}
void CRouteResultGrid::Clear()
{
m_arrItems.DeleteAll();
SetRowCount(m_arrItems.GetCount());
}
void CRouteResultGrid::Add(const CString s, UInt8 d, UInt8 i)
{
CItemData& rData = m_arrItems.Add();
rData.m_RouteName = s;
rData.m_Dir = d;
rData.m_Index = i;
}
CString CRouteResultGrid::GetItemString(Int16 i)
{
return m_arrItems[i].m_RouteName;
}
UInt8 CRouteResultGrid::GetItemInt(Int16 i)
{
return m_arrItems[i].m_Dir;
}
void CRouteResultGrid::SyncRowCount()
{
SetRowCount(m_arrItems.GetCount());
}
const Char* CRouteResultGrid::GetItemText(Int16 wRow, Int16 wColumn)
{
switch (GetColumnID(wColumn)) {
case 0:
m_strText.Format("%s", (const Char*)m_arrItems[wRow].m_RouteName);
return m_strText;
break;
case 1:
m_strText.Format("%s", ((0 == m_arrItems[wRow].m_Dir)? "上行": "下行"));
return m_strText;
break;
case 2:
m_strText.Format("%d", m_arrItems[wRow].m_Index + 1);
return m_strText;
break;
default:
m_strText.Format("");
return m_strText;
break;
}
}
void CRouteResultGrid::DrawItem(Int16 wRow, Int16 wColumn, const RectangleType& rcBounds)
{
CCustomGrid::DrawItem(wRow, wColumn, rcBounds);
}
void CRouteResultGrid::OnColumnClick(Int16 wColumn)
{
Int16 wOrderedColumn;
Boolean bAscending;
switch (wColumn) {
case 0:
m_sortType = ST_ROUTENAME;
break;
case 1:
m_sortType = ST_DIR;
break;
case 2:
m_sortType = ST_INDEX;
break;
default:
m_sortType = ST_NONE;
}
GetOrderedColumn(wOrderedColumn, bAscending);
m_arrItems.Sort(bAscending);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -