use "frame.vl"
|
use "dev:vm[xdwtable.vm]"
|
use "file.vl"
|
use "dev:vm[xutil.vm]"
|
|
unit vbusiness.entity
|
[
|
brand_regtype is extend frame;
|
about brand_regtype
|
[
|
method:
|
[
|
xdwtable__ dw_list;
|
|
int SetAgent()
|
{
|
string xfNodeAgentArea = "agentarea";
|
xnode__ anode = new xnode__;
|
anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
|
var xframeElement = GetElement();
|
var agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
|
if(agent){
|
SetAgentNodeContent (anode,agent.xml);
|
}
|
return 1;
|
}
|
|
xdwtable__ getDw()
|
{
|
xdwtable__ dw1 = new xdwtable__;
|
dw1.setNativePointer(dw_list.FindDwTable("item"));
|
return dw1;
|
}
|
|
int addRow()
|
{
|
xdwtable__ dw = getDw();
|
int row = dw.InsertRow(0);
|
string no = "2";
|
if(row > 1)
|
no = dw.GetItemString(row - 1, "RegTypeID");
|
int n = no.toInt();
|
int h = n + 1;
|
dw.SetItemString(row, "RegTypeID", h.toString());
|
return 1;
|
}
|
int deleteRow()
|
{
|
xdwtable__ dw = getDw();
|
int row = dw.GetRow();
|
if(row < 1 || row > dw.GetRowCount()) return -1;
|
if (win__::MessageBox(this.GetHWND(),"ÊÇ·ñɾ³ýÑ¡ÔñµÄ¼Ç¼ÐУ¿","Ìáʾ",4) == 7)
|
return 1;
|
dw.DeleteRow(row);
|
return 1;
|
}
|
int save()
|
{
|
xml__ x = new xml__;
|
x.setNativePointer(xml__ ::CreateInstance());
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
dw_list.AcceptText();
|
dw_list.DwUpdateAllTo(x.GetXmlDoc());
|
msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
|
//trace(e.xml);
|
arg.AddArg("content", e.xml);
|
if(getUrl("/workflow/action/BrandRegType.dbmap/bill.update", arg.GetString(), x) != 1)
|
{
|
alert("±£´æÊ§°Ü!");
|
return -1;
|
}
|
//trace(x.GetXml());
|
string str = x.GetXml();
|
if(str.find("±£´æ³É¹¦", 0) > 0)
|
{
|
alert("±£´æ³É¹¦");
|
dw_list.ResetUpdateStatus();
|
dw_list.Redraw();
|
}
|
else
|
alert("±£´æÊ§°Ü0!");
|
return 1;
|
}
|
|
//ÃüÁî·¢²¼º¯Êý
|
int OnCmdDispatch(string comdid)
|
{
|
int hCursor = xutil__::SetCursorWait();
|
if(comdid == "xmNew") addRow();
|
else if(comdid == "xmDelete") deleteRow();
|
else if(comdid == "xmSave") save();
|
xutil__::RestoreCursor(hCursor);
|
return 0;
|
}
|
|
//ÃüÁî´¦Àíʼþ
|
int OnXCommand(ref TXCommandEvent evt,int p)
|
{
|
return OnCmdDispatch(evt.pStrID);
|
}
|
|
int OnSetFocus(ref TEvent evt,int p)
|
{
|
SetAgent() ;
|
return 1;
|
}
|
int OnAttachEvent()
|
{
|
AttachEvent("WM_XCOMMAND",OnXCommand);
|
AttachEvent("WM_SETFOCUS",OnSetFocus);
|
|
return 1;
|
}
|
int Initail()
|
{
|
xaserverarg__ arg = new xaserverarg__;
|
arg.setNativePointer(arg.CreateInstance());
|
xml__ x = new xml__;
|
x.setNativePointer(xml__ ::CreateInstance());
|
if(getUrl("/sale/data/brand/entity/regtype", arg.GetString(), x) != 1)
|
{
|
alert("³õʼ»¯²éѯʧ°Ü!");
|
return -1;
|
}
|
//trace(x.GetXml());
|
dw_list.Retrieve(x);
|
dw_list.Redraw();
|
return 1;
|
}
|
|
int onload()
|
{
|
dw_list = new xdwtable__;
|
dw_list.setNativePointer(GetControl("dw_list"));
|
dw_list.openUrl("/sale/view/brand/template/regtype");
|
//dw_list.SetColHeaderHeight(0);
|
dw_list.SetRowSelectorWidth(0);
|
|
OnAttachEvent();
|
SetAgent();
|
Initail();
|
return -1;
|
}
|
]
|
]
|
]
|