菜单

生成下拉选项的json

下载

    TTable userTable = DBMgr::getdb()->query("SELECT K AS Names FROM S_CFG");
    vector<string> vec;
    for(int i=0;i<userTable.size();i++) {
        string stmp = userTable.getValue(i,"Names");
        vec.push_back("{\"id\":\""+stmp+"\",\"name\":\""+stmp+"\"}");
    }
    string json = "[" + StringUtil::join(vec, ",") + "]";
    wMDropdown1->setOptions(json, 0);

上面是字符串相加生成json

============多语言===========

下面是用json工具

#define LOCALE_STR(tag) getRuntime()->getILanguageMgr()->getTag(string("_L(\"")+tag+string("\")"))

void Frm09::onLoad() {
vector<vector<KV_Str_Str>> vec1;
vector<KV_Str_Str> vec;
 
// 选项1的id
KV_Str_Str kv1;
kv1.k = "id";//固定为id
kv1.v = "0";//选项1的value
vec.push_back(kv1);
// 选项1的name
KV_Str_Str kv2;
kv2.k = "name";//固定为name
kv2.v = LOCALE_STR("多语言标签1");//选项的名称(显示的文字)
vec.push_back(kv2);
// 选项1加入数组
vec1.push_back(vec);
 
//继续选项2......
 
//生成json
string json1 = "";
Util::convertArrayToJson(vec1, json1);
//设置给控件
wMDropdown2->setOptions(json1, 0);
}
最近修改: 2026-04-08Powered by