今天处理一个问题:数据传递
由于前两天不知道后台会传一个什么样的数据过来,所以不知道怎么去写我这边的代码,于是,苦苦思索,未见端倪。
好在梁工给我指出了方向:定义一个结构体,外面传消息过来的时候,我这边都只接受一个结构体,这个结构体里面有唯一的一个值,即合同号,于是乎,我用这个合同号作为键值,结构体作为value,便可以建立一个map,map《合同号,结构体》X;map《合同号,结构体》::iterator iter;我就很容易的插入我的数据到列表控件了。现在只考虑加载数据的问题,不考虑数据更新的问题。
数据加载:下面根据该合同号就可以把数据加到列表控件里面了。
X【结构体-》合同号】=结构体;//完成结构体和合同号的映射
int nHasItem =getlistctrl()。getitemcount();
iter=X-》second/first; 迭代器是指的map(key,value),iter-》first/second;
getlistctrl()。insertitem(nHasItem,x[结构体-》合同号。xxxx]);插入到某一列
这里主要是使用了map,使得键和值对应,不像数组,必须指定固定的空间,也不像指针链表,所以很好用,并且他的end是指向数据的最后一个元素的下一个元素。
未完待续:今天留下来的一个问题是:数据更新问题,就是假如后台某项数据更新了,我如何去更改列表中的数据:是不是先要更新map中的数据,然后更新列表控件中的数据。