wxWidget实战,

2023-12-15 18:40:12

我有三种类别的表格,三种表格放在wxPanel同一个位置,当我选择IC显示表格A,A表格列名如下:Through Model Mfg.Part No Manufacturer Lookup Keyword Description Sub Model,当我选中VRM时显示表格B,表格B的列名如下:ModelName Resistance ResistorModel MaxCurrent ThroughModel Mfg.PartNo Manufacturer LookupKeyword SubModel Comment,当我选择Resistor时显示表格C,表格C列名如下:ModelName VRMModel Mfg.ParNo ThroughModel Manufacturer LookupKeyword Description SubModel,请问,放在wxPanel的表格应该怎样实现,wxDataViewListCtrl+wxDataViewListStore可以实现吗?具体实现代码怎样的,使用C++语言

// 创建一个wxDataViewListCtrl
wxDataViewListCtrl* dataListCtrl = new wxDataViewListCtrl(panel, wxID_ANY);

// 创建三个不同的wxDataViewListStore来存储三种类别的数据
wxDataViewListStore* modelA = new wxDataViewListStore();
modelA->AppendColumn(new wxDataViewColumn("Through Model", new wxDataViewTextRenderer("string")));
modelA->AppendColumn(new wxDataViewColumn("Mfg.Part No", new wxDataViewTextRenderer("string")));
modelA->AppendColumn(new wxDataViewColumn("Manufacturer", new wxDataViewTextRenderer("string")));
modelA->AppendColumn(new wxDataViewColumn("Lookup Keyword", new wxDataViewTextRenderer("string")));
modelA->AppendColumn(new wxDataViewColumn("Description", new wxDataViewTextRenderer("string")));
modelA->AppendColumn(new wxDataViewColumn("Sub Model", new wxDataViewTextRenderer("string")));

wxDataViewListStore* modelB = new wxDataViewListStore();
modelB->AppendColumn(new wxDataViewColumn("ModelName", new wxDataViewTextRenderer("string")));
modelB->AppendColumn(new wxDataViewColumn("Resistance", new wxDataViewTextRenderer("string")));
// ... 添加其他列
modelB->AppendColumn(new wxDataViewColumn("Comment", new wxDataViewTextRenderer("string")));

wxDataViewListStore* modelC = new wxDataViewListStore();
modelC->AppendColumn(new wxDataViewColumn("ModelName", new wxDataViewTextRenderer("string")));
// ... 添加其他列

// 将三种不同的model分别关联到dataListCtrl,然后根据选择的类别来显示对应的表格

我要给modelA插入若干行数据并显示,应该怎样实现?

// 给modelA插入若干行数据
wxVector<wxVariant> data;
data.push_back("Value1");
data.push_back("Value2");
data.push_back("Value3");
// ... 添加其他列的数值

modelA->AppendItem(data);

// 刷新数据视图以显示新的数据
dataListCtrl->AssociateModel(modelA);

文章来源:https://blog.csdn.net/haimianjie2012/article/details/135020666
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。