use "dev:code[SKUItem.vx]" unit vbusiness.vpage [ SKUItemImport is extend SKUItem; about SKUItemImport [ field: xdwgrid dw_list; treeview tv_1; xdwtable dw_maint; method: [ xstring jxParam(xstring p, xstring n) { if(p != L"") { int i = 1; while (p.find(L"=",0)>0) { xstring name = p.mid(0, p.find(L"=",0)); xstring value = p.mid(p.find(L"=",0) + 1, p.find(L"=",0) - 1); return ""+value; i += 1; } } return ""; } int OnSelectAll() { if(this.dw_list.GetRowCount() > 0 ) this.dw_list.SelectRow(1,true); this.dw_list.SelectRow(0,true); this.dw_list.Redraw(); return 1; } int OnSelectNo() { this.dw_list.SelectRow(0,false); this.dw_list.Redraw(); return 1; } int OnOk() { xdwtable dw = new xdwtable; dw.setNativePointer(dw_maint.FindDwTable(L"Item",0)); int row = SKUItem::dw_list.GetNextSelectRow(1); if (row<1) { alert(L"ÇëÑ¡ÔñÏîÄ¿Ãû³Æ!"); return 1; } while (row>0) { msxml::IXMLDOMElement e =SKUItem::dw_list.GetRowElement(row); xstring ItemName = e.selectSingleNode(L"ItemName").text+L""; //trace(ItemName); if(dw.GetItemString(1,L"ItemName")==L"") { dw.SetItemString(1,L"SeqNo",L"1"); dw.ItemChangeTo(1,L"ItemName",ItemName); } else { int n=dw.InsertRow(0); dw.SetItemString(n,L"SeqNo",n.ToString()); dw.ItemChangeTo(n,L"ItemName",ItemName); } row = SKUItem::dw_list.GetNextSelectRow(row +1); } CloseWindow(); return 1; } int OnCancel() { CloseWindow(); return 1; } int OnDoubleClicked(ref TNotifyEvent evt,int p) { OnOk(); return 1; } int OnCmdDispatch(xstring comdid) { if (comdid==L"SelectAll") OnSelectAll(); else if (comdid==L"SelectNo") OnSelectNo(); else if (comdid==L"cb_import") OnOk(); else if (comdid==L"cb_close") OnCancel(); //else if (comdid==L"query") GridSearch(); return 0; } int OnXCommand(ref TXCommandEvent evt,int p) { return OnCmdDispatch(evt.pStrID); } int onload() { if (GetParam()) { xaserverarg arg1=GetParam(); dw_maint = new xdwtable; dw_maint.setNativePointer(arg1.GetArgString(L"dw_maint").toInt()); } SKUItem::onload(); SKUItem::dw_list.SetSelectionMode(3); //3 SKUItem::dw_list.SetReadOnly(true); AttachEvent(L"WM_XCOMMAND",OnXCommand); AttachEvent(L"dw_list",L"DWV_DOUBLECLICKED",OnDoubleClicked);//ÐÐË«»÷ } ] ] ]