void CSVSortList::addList() { if(m_pContent) { while(m_pContent->numRows() > 1) m_pContent->deleteRow(m_pContent->numRows() - 1); m_svList.clear(); int nRow = m_pContent->numRows(); for(lsItem = m_sortList.begin(); lsItem != m_sortList.end(); lsItem ++) { WText *pName = new WText(lsItem->second.szName, m_pContent->elementAt(nRow, 0)); char szDisIndex[8] = {0}; sprintf(szDisIndex, "%d", nRow); WLineEdit *pIndex = new WLineEdit (szDisIndex, m_pContent->elementAt(nRow, 1)); if((nRow + 1) % 2 == 0) m_pContent->GetRow(nRow)->setStyleClass("tr1"); else m_pContent->GetRow(nRow)->setStyleClass("tr2"); SVTableCell svCell; if(pIndex) { svCell.setType(adLineEdit); svCell.setValue(pIndex); svCell.setTag(lsItem->first); svCell.setProperty(lsItem->second.szIndex.c_str()); m_svList.WriteCell(nRow, 1, svCell); } nRow ++; } } }
//添加排序数据项(没有用了) void CTuopList::AddSortData(string strVsdName, int nRows, string strName, string strSort) { WText * pTmpText = new WText(strName, (WContainerWidget*)pSortListTable->elementAt(nRows, 0)); WLineEdit * pTmpEdit = new WLineEdit(strSort, (WContainerWidget*)pSortListTable->elementAt(nRows, 1)); //放到sv_table里去 SVTableCell ce; ce.setType(adText); ce.setValue(pTmpText); m_svSortList.WriteCell(strVsdName, 0, ce); ce.setType(adLineEdit); ce.setValue(pTmpEdit); m_svSortList.WriteCell(strVsdName, 1, ce); }
void SVSEView::editSVSEList(string &szName, string &szIndex) { if(!m_svSEList.empty()) { SVTableRow *pRow = m_svSEList.Row(szIndex); if(pRow) { SVTableCell * pCell = pRow->Cell(2); if(pCell) { if(pCell->Type() == adText) { ((WText*)pCell->Value())->setText(szName); ((WText*)pCell->Value())->setToolTip(szName); } } } } }
bool CSVSortList::checkDisplayIndex() { irow it; map<int, string, less<int> > lsDis; map<int, string, less<int> >::iterator lsDisItem; for(it = m_svList.begin(); it != m_svList.end(); it++) { SVTableCell *pCell = (*it).second.Cell(1); if(pCell && pCell->Type() == adLineEdit) { if(pCell->Value()) { string szIndex = ((WLineEdit*)pCell->Value())->text(); int nIndex = 0; if(!szIndex.empty()) nIndex = atoi(szIndex.c_str()); lsDisItem = lsDis.find(nIndex); while(lsDisItem != lsDis.end()) { nIndex ++; lsDisItem = lsDis.find(nIndex); } lsDis[nIndex] = pCell->Property(); } } } switch(m_nType) { case Tree_GROUP: saveGroup(lsDis); break; case Tree_DEVICE: saveDevice(lsDis); break; case Tree_MONITOR: saveMonitor(lsDis); break; } return true; }
void CTuopList::refresh() { bool bEnd = false; string strUserID = GetWebUserID(); HitLog LogItem; LogItem.sUserName = strUserID; LogItem.sHitPro = "TuopList"; LogItem.sHitFunc = "refresh"; LogItem.sDesc = strRefresh; DWORD dcalBegin=GetTickCount(); InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 0, 0); OPEnd: if(bEnd) { DWORD dcalEnd=GetTickCount(); InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 1, dcalEnd -dcalBegin); return; } if(bFirst) { bFirst =false; bEnd = true; goto OPEnd; } m_pTopologyListTable->GeDataTable()->clear(); RecordList.clear(); pSortTable->GeDataTable()->clear(); std::string strIndex; std::list<string> m_pList; std::list<string>::iterator m_pItem; #ifdef Tuopu m_pList = ReadFileName(GetSiteViewRootPath() + "\\htdocs\\tuoplist"); #else m_pList = ReadFileName(GetSiteViewRootPath() + "\\htdocs\\maintainlist"); #endif std::list<string> m_pVList; std::list<string>::iterator m_pVItem; #ifdef Tuopu m_pVList = ReadVSDName(GetSiteViewRootPath() + "\\htdocs\\tuoplist"); #else m_pVList = ReadVSDName(GetSiteViewRootPath() + "\\htdocs\\maintainlist"); #endif m_pVItem = m_pVList.begin(); for(m_pItem = m_pList.begin(); m_pItem != m_pList.end(); m_pItem++) { std::string strUserName = *m_pItem; std::string strVSD = *m_pVItem; OneRecord list; list.strUserName = strUserName; //vsd文件始终不会更改, 所以用它来制造key list.strBackName = ReplaceStdString(strVSD, ".vsd", ".htm"); list.strTuop = strVSD; //读取tuopfile.ini的sort信息并赋值给OneRecord变量。: //如果没有预先设置的sort信息则按什么规则自动赋值? ---》先是读预先设置的序号, 为默认值 则不存在 意味着是新发布的 //---》规则(读一遍ini, 找到序号最大值, 加1 并写到tuopfile.ini文件中) int nSort = GetIniFileInt("sort", strVSD, -1, "tuopfile.ini"); if(nSort != -1) { list.nSort = nSort; } else { //获取序号最大值, 加1 list.nSort = GetMaxSortId() + 1; //写序号值到ini #ifdef Tuopu WriteIniFileInt("sort", strVSD, list.nSort, "tuopfile.ini"); #else WriteIniFileInt("sort", strVSD, list.nSort, "maintainfile.ini"); #endif } RecordList.push_back(list); m_pVItem++; } //显示列表 int i = 1; std::string strOpen; for(m_pRecordList=RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList ++) { m_pTopologyListTable->InitRow(i); pSortTable->InitRow(i); i++; } i = 1; for(m_pRecordList=RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList ++) { m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 0)->setContentAlignment(AlignCenter); m_pRecordList->pCheckBox = new WCheckBox("", (WContainerWidget*)m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 0)); strOpen = "<a href=./showtuopu.exe?pageid="; strOpen += ReplaceStdString(m_pRecordList->strBackName, ".htm", ""); #ifdef Tuopu strOpen += "&version=0"; #else strOpen += "&version=0&usrleader=0&maintain=1"; #endif strOpen += " target=_blank>"; strOpen += m_pRecordList->strUserName; strOpen += "</a>"; m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)->setContentAlignment(AlignCenter); m_pRecordList->pstrUserName = new WText(strOpen, (WContainerWidget*)m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)); m_pRecordList->pLineEdit = new WLineEdit(m_pRecordList->strUserName,m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)); m_pRecordList->pLineEdit->hide(); m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)->setContentAlignment(AlignCenter); m_pRecordList->pTuop = new WImage("../Images/resource.gif",m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)); m_pRecordList->pTuop->setToolTip(strTuopTip); m_pRecordList->pTuop->setStyleClass("hand"); //绑定visio事件 std::string strJavascript; #ifdef Tuopu strJavascript = "window.open('../tuoplist/" + m_pRecordList->strTuop + "','newwindow')"; #else strJavascript = "window.open('../maintainlist/" + m_pRecordList->strTuop + "','newwindow')"; #endif connect(m_pRecordList->pTuop, SIGNAL(clicked()),strJavascript.c_str() ,WObject::JAVASCRIPT ); m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 6)->setContentAlignment(AlignCenter); m_pRecordList->pEdit = new WImage("/Images/edit.gif",m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 6)); m_pRecordList->pEdit->setToolTip(strEditTip); m_pRecordList->pEdit->setStyleClass("hand"); strIndex=m_pRecordList->strUserName.c_str(); m_userMapper.setMapping(m_pRecordList->pEdit, strIndex); connect(m_pRecordList->pEdit, SIGNAL(clicked()), &m_userMapper, SLOT(map())); connect(m_pRecordList->pLineEdit, SIGNAL(keyWentDown(int)), this, SLOT(EditReturn(int))); i++; //排序界面初始化 pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)->setContentAlignment(AlignCenter); WText * pTmpText = new WText(m_pRecordList->strUserName, pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)); char chItem[32] = {0}; sprintf(chItem, "%d", m_pRecordList->nSort); string strSort = chItem; pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)->setContentAlignment(AlignCenter); WLineEdit * pTmpEdit = new WLineEdit(strSort, pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)); //放到sv_table里去 SVTableCell ce; ce.setType(adText); ce.setValue(pTmpText); m_svSortList.WriteCell(m_pRecordList->strTuop, 0, ce); ce.setType(adLineEdit); ce.setValue(pTmpEdit); m_svSortList.WriteCell(m_pRecordList->strTuop, 1, ce); } m_pList.clear(); m_pVList.clear(); //列表为空 if(RecordList.size() <= 0) { m_pTopologyListTable->ShowNullTip(); } else { m_pTopologyListTable->HideNullTip(); } //可能有问题.. pSortTable->hide(); DWORD dcalEnd1=GetTickCount(); InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 1, dcalEnd1 - dcalBegin); }
void CTuopList::ShowMainTable() { //strNullList = "空的列表"; m_pMainTable = new WSVMainTable(this,strMainTitle,false); //if(m_pMainTable->pHelpImg) //{ // connect(m_pMainTable->pHelpImg,SIGNAL(click()),this,SLOT(ShowHelp())); //} //拓扑列表界面 m_pTopologyListTable = new WSVFlexTable(m_pMainTable->GetContentTable()->elementAt(0,0),List, strTitle); if (m_pTopologyListTable->GetContentTable() != NULL) { m_pTopologyListTable->AppendColumn("",WLength(40,WLength::Pixel)); m_pTopologyListTable->SetDataRowStyle("table_data_grid_item_text"); m_pTopologyListTable->AppendColumn(strLoginLabel,WLength(70,WLength::Percentage)); m_pTopologyListTable->SetDataRowStyle("table_data_grid_item_text"); m_pTopologyListTable->AppendColumn(strNameUse,WLength(10,WLength::Percentage)); m_pTopologyListTable->SetDataRowStyle("table_data_grid_item_text"); m_pTopologyListTable->AppendColumn(strNameEdit,WLength(10,WLength::Percentage)); m_pTopologyListTable->SetDataRowStyle("table_data_grid_item_text"); } if (m_pTopologyListTable->GetActionTable() != NULL) { m_pTopologyListTable->AddStandardSelLink(strAllSel ,strAllNotSel,strFanSel); connect(m_pTopologyListTable->pSelAll, SIGNAL(clicked()), this, SLOT(SelAll())); connect(m_pTopologyListTable->pSelNone, SIGNAL(clicked()), this, SLOT(SelNone())); connect(m_pTopologyListTable->pSelReverse, SIGNAL(clicked()), this, SLOT(SelInvert())); WTable *pTbl; m_pTopologyListTable->GetActionTable()->elementAt(0,1)->setContentAlignment(AlignCenter); m_pTopologyListTable->GetActionTable()->elementAt(0,1)->setStyleClass("textbold"); pTbl = new WTable(m_pTopologyListTable->GetActionTable()->elementAt(0,1)); pTbl->setStyleClass("widthauto"); WSVButton * pDel = new WSVButton(pTbl->elementAt(0,1),strDelete, "button_bg_del.png", "", false); if (pDel) { connect(pDel, SIGNAL(clicked()), this, SLOT(BeforeDelUser())); } //新增 //WSVButton * pSort = new WSVButton(pTbl->elementAt(0,2), "排序", "button_bg_taxis.png", "", false); WSVButton * pSort = new WSVButton(pTbl->elementAt(0,2), strSort, "button_bg_taxis.png", "", false); if (pSort) { connect(pSort, SIGNAL(clicked()), this, SLOT(Sort())); } //WTable *pTbl2; m_pTopologyListTable->GetActionTable()->elementAt(0, 2)->setContentAlignment(AlignRight); strcpy(m_pTopologyListTable->GetActionTable()->elementAt(0, 2)->contextmenu_, "nowrap"); //Tuopu 发布插件下载 string strTuopPluginJs = "window.open('../TuopoClient.exe','newwindow')"; string szLink = "<a href='#'>" + szTuopDown + "</a> "; WText * pTuopPlugin = new WText(szLink, (WContainerWidget *)m_pTopologyListTable->GetActionTable()->elementAt(0, 2)); connect(pTuopPlugin, SIGNAL(clicked()),strTuopPluginJs.c_str() ,WObject::JAVASCRIPT); } m_pTopologyListTable->SetNullTipInfo(strNullList); //拓扑排序列表界面 //pSortTable = new WSVFlexTable(m_pMainTable->GetContentTable()->elementAt(1,0), List, "拓扑排序列表"); pSortTable = new WSVFlexTable(m_pMainTable->GetContentTable()->elementAt(1,0), List, strTuoPuSortList); if (pSortTable->GetContentTable() != NULL) { pSortTable->AppendColumn("",WLength(40,WLength::Pixel)); pSortTable->SetDataRowStyle("table_data_grid_item_text"); //pSortTable->AppendColumn("名称",WLength(50,WLength::Percentage)); pSortTable->AppendColumn(strName,WLength(50,WLength::Percentage)); pSortTable->SetDataRowStyle("table_data_grid_item_text"); //pSortTable->AppendColumn("序号",WLength(50,WLength::Percentage)); pSortTable->AppendColumn(strSequenceNo,WLength(50,WLength::Percentage)); pSortTable->SetDataRowStyle("table_data_grid_item_text"); } if (pSortTable->GetActionTable() != NULL) { WTable *pTbl1; pSortTable->GetActionTable()->elementAt(0,1)->setContentAlignment(AlignCenter); pSortTable->GetActionTable()->elementAt(0,1)->setStyleClass("textbold"); pTbl1 = new WTable(pSortTable->GetActionTable()->elementAt(0,1)); pTbl1->setStyleClass("widthauto"); //WSVButton * pSortOkBtn = new WSVButton(pTbl1->elementAt(0, 1), "确 定", "button_bg_m.png", "", false); WSVButton * pSortOkBtn = new WSVButton(pTbl1->elementAt(0, 1), strAffirm, "button_bg_m.png", "", false); if(pSortOkBtn) { connect(pSortOkBtn,SIGNAL(clicked()),this,SLOT(SortOk())); } } //编辑事件 std::string strIndex; std::list<string> m_pList; std::list<string>::iterator m_pItem; #ifdef Tuopu m_pList = ReadFileName(GetSiteViewRootPath() + "\\htdocs\\tuoplist"); #else m_pList = ReadFileName(GetSiteViewRootPath() + "\\htdocs\\maintainlist"); #endif std::list<string> m_pVList; std::list<string>::iterator m_pVItem; #ifdef Tuopu m_pVList = ReadVSDName(GetSiteViewRootPath() + "\\htdocs\\tuoplist"); #else m_pVList = ReadVSDName(GetSiteViewRootPath() + "\\htdocs\\maintainlist"); #endif m_pVItem = m_pVList.begin(); for(m_pItem = m_pList.begin(); m_pItem != m_pList.end(); m_pItem++) { std::string strUserName = *m_pItem; std::string strVSD = *m_pVItem; OneRecord list; list.strUserName = strUserName; //vsd文件始终不会更改, 所以用它来制造key list.strBackName = ReplaceStdString(strVSD, ".vsd", ".htm"); list.strTuop = strVSD; //读取tuopfile.ini的sort信息并赋值给OneRecord变量。: //如果没有预先设置的sort信息则按什么规则自动赋值? ---》先是读预先设置的序号, 为默认值 则不存在 意味着是新发布的 //---》规则(读一遍ini, 找到序号最大值, 加1 并写到tuopfile.ini文件中) int nSort = GetIniFileInt("sort", strVSD, -1, "tuopfile.ini"); if(nSort != -1) { list.nSort = nSort; } else { //获取序号最大值, 加1 list.nSort = GetMaxSortId() + 1; //写序号值到ini #ifdef Tuopu WriteIniFileInt("sort", strVSD, list.nSort, "tuopfile.ini"); #else WriteIniFileInt("sort", strVSD, list.nSort, "maintainfile.ini"); #endif } RecordList.push_back(list); m_pVItem++; } //绑定编辑事件 connect(&m_userMapper, SIGNAL(mapped(const std::string)), this, SLOT(EditUserName(const std::string))); //显示列表 int i = 1; std::string strOpen; for(m_pRecordList=RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList ++) { m_pTopologyListTable->InitRow(i); pSortTable->InitRow(i); i++; } i = 1; for(m_pRecordList=RecordList.begin(); m_pRecordList != RecordList.end(); m_pRecordList ++) { //列表数据界面初始化 m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 0)->setContentAlignment(AlignCenter); m_pRecordList->pCheckBox = new WCheckBox("", (WContainerWidget*)m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 0)); strOpen = "<a href=./showtuopu.exe?pageid="; strOpen += ReplaceStdString(m_pRecordList->strBackName, ".htm", ""); #ifdef Tuopu strOpen += "&version=0"; #else strOpen += "&version=0&usrleader=0&maintain=1"; #endif strOpen += " target=_blank>"; strOpen += m_pRecordList->strUserName; strOpen += "</a>"; m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)->setContentAlignment(AlignCenter); m_pRecordList->pstrUserName = new WText(strOpen, (WContainerWidget*)m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)); m_pRecordList->pLineEdit = new WLineEdit(m_pRecordList->strUserName,m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)); m_pRecordList->pLineEdit->hide(); m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)->setContentAlignment(AlignCenter); m_pRecordList->pTuop = new WImage("../Images/resource.gif",m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)); m_pRecordList->pTuop->setToolTip(strTuopTip); m_pRecordList->pTuop->setStyleClass("hand"); //绑定visio事件 std::string strJavascript; #ifdef Tuopu strJavascript = "window.open('../tuoplist/" + m_pRecordList->strTuop + "','newwindow')"; #else strJavascript = "window.open('../maintainlist/" + m_pRecordList->strTuop + "','newwindow')"; #endif connect(m_pRecordList->pTuop, SIGNAL(clicked()),strJavascript.c_str() ,WObject::JAVASCRIPT ); m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 6)->setContentAlignment(AlignCenter); m_pRecordList->pEdit = new WImage("/Images/edit.gif",m_pTopologyListTable->GeDataTable()->elementAt(m_pRecordList->nSort, 6)); m_pRecordList->pEdit->setToolTip(strEditTip); m_pRecordList->pEdit->setStyleClass("hand"); strIndex=m_pRecordList->strUserName.c_str(); m_userMapper.setMapping(m_pRecordList->pEdit, strIndex); connect(m_pRecordList->pEdit, SIGNAL(clicked()), &m_userMapper, SLOT(map())); connect(m_pRecordList->pLineEdit, SIGNAL(keyWentDown(int)), this, SLOT(EditReturn(int))); i++; //排序数据界面初始化 pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)->setContentAlignment(AlignCenter); WText * pTmpText = new WText(m_pRecordList->strUserName, pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 2)); char chItem[32] = {0}; sprintf(chItem, "%d", m_pRecordList->nSort); string strSort = chItem; pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)->setContentAlignment(AlignCenter); WLineEdit * pTmpEdit = new WLineEdit(strSort, pSortTable->GeDataTable()->elementAt(m_pRecordList->nSort, 4)); //放到sv_table里去 SVTableCell ce; ce.setType(adText); ce.setValue(pTmpText); m_svSortList.WriteCell(m_pRecordList->strTuop, 0, ce); ce.setType(adLineEdit); ce.setValue(pTmpEdit); m_svSortList.WriteCell(m_pRecordList->strTuop, 1, ce); } m_pList.clear(); m_pVList.clear(); //列表为空 if(RecordList.size() <= 0) { m_pTopologyListTable->ShowNullTip(); } else { m_pTopologyListTable->HideNullTip(); } pSortTable->hide(); //隐藏按钮 pHideBtn = new WPushButton("hide button",this); if(pHideBtn) { pHideBtn->setToolTip("Hide Button"); connect(pHideBtn,SIGNAL(clicked()),this,SLOT(DelUser())); pHideBtn->hide(); } pTranslateBtn = new WPushButton("Translate",this); pExChangeBtn = new WPushButton("Refresh",this); //翻译 int bTrans = GetIniFileInt("translate", "translate", 0, "general.ini"); if(bTrans == 1) { this->pTranslateBtn->show(); connect(this->pTranslateBtn, SIGNAL(clicked()), this, SLOT(Translate())); this->pExChangeBtn->show(); connect(this->pExChangeBtn, SIGNAL(clicked()), this, SLOT(ExChange())); } else { this->pTranslateBtn->hide(); this->pExChangeBtn->hide(); } }
//界面排序完毕 void CTuopList::SortOk() { string strUserID = GetWebUserID(); HitLog LogItem; LogItem.sUserName = strUserID; LogItem.sHitPro = "TuopList"; LogItem.sHitFunc = "SortOk"; LogItem.sDesc = strSaveSort; DWORD dcalBegin=GetTickCount(); InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 0, 0); //数据有效性判断 如果编辑过程中 输入无效的序号 怎么处理?---》小于等于零 有重复数字 不连续 等?---》不容易完全判定清楚, 暂时不判定。 //是数字吗? //if(!pAlertStop->text().empty()) //{ // nRet = sscanf(pAlertStop->text().c_str(), "%d", &nTmp); // if(nRet == EOF || nRet == 0 || nTmp < 0) // { // errorMsgList.push_back(strAlertStopError); // bError = true; // } // else // { // sprintf(chItem, "%d", nTmp); // pAlertStop->setText(chItem); // } //} //写拓扑图的顺序数据到ini for(row it = m_svSortList.begin(); it != m_svSortList.end(); it++) { SVTableCell * pcell = it->second.Cell(1); if(pcell) { // 修改每一项的选择状态 if (pcell->Type() == adLineEdit) { // int nSort = 0; string strSortId = ((WLineEdit*)pcell->Value())->text(); sscanf(strSortId.c_str(), "%d", &nSort); //OutputDebugString(pcell->Row()); //OutputDebugString(strSortId.c_str()); // #ifdef Tuopu WriteIniFileInt("sort", pcell->Row(), nSort, "tuopfile.ini"); #else WriteIniFileInt("sort", pcell->Row(), nSort, "maintainfile.ini"); #endif } } } //更新拓扑列表的数据 //RecordList需要重新构造---》刷新函数能解决此问题吗?---》应该能解决 refresh(); //界面隐现 pSortTable->hide(); m_pTopologyListTable->show(); DWORD dcalEnd1=GetTickCount(); InsertHitRecord(LogItem.sUserName, LogItem.sHitPro, LogItem.sHitFunc, LogItem.sDesc, 1, dcalEnd1 - dcalBegin); }
void SVSEView::addSVSEList(string &szName, string &szIndex) { if(m_pSEList) { int nRow = m_pSEList->numRows(); SVTableCell cell; sv_group_state groupState = getSVSEState(szIndex, m_pSVUser, m_szIDCUser, m_szIDCPwd); bool bHasEditRight = true; bool bHasDelRight = true; if(m_pSVUser) { bHasEditRight = m_pSVUser->haveUserRight(szIndex, "se_edit"); bHasDelRight = m_pSVUser->haveUserRight(szIndex, "se_delse"); } else { bHasEditRight = false; bHasDelRight = false; } // Ñ¡Ôñ //if(szIndex.compare("1") != 0) //{ // WCheckBox * pCheck = NULL; // if(bHasEditRight || bHasDelRight) pCheck = new WCheckBox("", (WContainerWidget *)m_pSEList->elementAt(nRow, 0)); // if(pCheck) // { // cell.setType(adCheckBox); // cell.setValue(pCheck); // m_svSEList.WriteCell(szIndex, 0, cell); // } //} // ÃèÊö WText *pDesc = new WText("", (WContainerWidget *)m_pSEList->elementAt(nRow, 0)); if(pDesc) { char szState[512] = {0}; sprintf(szState, "%s%d<BR>%s%d<BR>%s%d<BR>%s%d<BR>%s%d", SVResString::getResString("IDS_Device_Count").c_str(), groupState.nDeviceCount, SVResString::getResString("IDS_Monitor_Count").c_str(), groupState.nMonitorCount, SVResString::getResString("IDS_Monitor_Disable_Count").c_str(), groupState.nDisableCount, SVResString::getResString("IDS_Monitor_Error_Count").c_str(), groupState.nErrorCount, SVResString::getResString("IDS_Monitor_Warn_Count").c_str(), groupState.nWarnCount); pDesc->setText(szState); } // Ãû³Æ WText *pName = new WText(szName, (WContainerWidget *)m_pSEList->elementAt(nRow, 1)); if ( pName ) { sprintf(pName->contextmenu_, "style='color:#669;cursor:pointer;' onmouseover='" \ "this.style.textDecoration=\"underline\"' " \ "onmouseout='this.style.textDecoration=\"none\"'"); pName->setToolTip(szName); WObject::connect(pName, SIGNAL(clicked()), "showbar();", &m_wNameMapper, SLOT(map()), WObject::ConnectionType::JAVASCRIPTDYNAMIC); m_wNameMapper.setMapping(pName, szIndex); cell.setType(adText); cell.setValue(pName); m_svSEList.WriteCell(szIndex, 2, cell); SVTableRow *pRow = m_svSEList.Row(szIndex); if(pRow) pRow->setProperty(szIndex.c_str()); } // ±à¼ WImage * pEdit = NULL; if(bHasEditRight) pEdit = new WImage("../icons/edit.gif", (WContainerWidget *)m_pSEList->elementAt(nRow, 2)); if (pEdit) { pEdit->setToolTip(SVResString::getResString("IDS_Edit")); pEdit->setStyleClass("imgbutton"); WObject::connect(pEdit, SIGNAL(clicked()), "showbar();", &m_wEditMapper, SLOT(map()), WObject::ConnectionType::JAVASCRIPTDYNAMIC); m_wEditMapper.setMapping(pEdit,szIndex); } if((nRow + 1) % 2 == 0) m_pSEList->GetRow(nRow)->setStyleClass("tr1"); else m_pSEList->GetRow(nRow)->setStyleClass("tr2"); } }