c#中有一段代码我需要改造成flex语言的代码在mxml文件中写并写清楚frmZfblSelect 是怎样引用的。请帮我改造一下c#的代码如下:string zfblRes = seiproxy1getvarstringzfbl; string resultString = RegexSplitzfblRes #v RegexOptionsIgnore
以下为改造后的Flex代码:
fx:Script <![CDATA[ import mx.collections.ArrayList; import mx.controls.Alert; import mx.events.FlexEvent;
private var zfbl:Number = 0;
private var zfblData:Dictionary = new Dictionary();
private function init():void {
var zfblRes:String = "这里填写从seiproxy1.getvarstring('zfbl')获取到的字符串";
CommonDatacClass.WriteTextLog(CommonDatacClass.User_YlJgBm, action, zfblRes);
var zfbls:Array = zfblRes.split("/");
var count:int = 0;
var zfblEach:Number = 0;
for (var k:int = 0; k < zfbls.length - 1; k++) {
if (!zfblData.hasOwnProperty(zfbls[k]) && (zfbls[k].indexOf(xzbz) != -1 && (zfbls[k].indexOf(rqlb) != -1 || zfbls[k].indexOf(rqlbZGJM) != -1))) {
count++;
zfblData[count.toString()] = zfbls[k];
zfblEach = Number(zfbls[k].split("#v")[0]);
}
}
if (count == 1) {
zfbl = zfblEach;
} else if (count >= 2) {
var frmZfbl:frmZfblSelect = new frmZfblSelect();
frmZfbl.Bm = yyxmbm;
frmZfbl.Mc = yyxmmc;
frmZfbl.zfblData = zfblData;
frmZfbl.addEventListener("zfblSelected", zfblSelectedHandler);
PopUpManager.addPopUp(frmZfbl, this, true);
PopUpManager.centerPopUp(frmZfbl);
} else {
var resultString:String = zfbls[0];
var zfblStr:String = resultString.split("#v")[0];
zfbl = Number(zfblStr);
}
}
private function zfblSelectedHandler(event:Event):void {
zfbl = frmZfblSelect(event.target).Zfbl;
}
]]>
</fx:Script>
fx:Declarations <s:FormItem label="自付比例"> <s:Label text="{zfbl}" /> </s:FormItem>
<fx:Component className="frmZfblSelect">
<s:TitleWindow>
<fx:Script>
<![CDATA[
import mx.collections.ArrayList;
import mx.events.FlexEvent;
[Bindable]
private var bm:String = "";
[Bindable]
private var mc:String = "";
//[Bindable]
//private var zfblStr:String = "";
[Bindable]
private var zfbl:Number = 0;
[Bindable]
private var zfblDataProvider:ArrayList = new ArrayList();
public var zfblData:Dictionary;
private function init():void {
txtBm.text = bm;
txtMc.text = mc;
for (var key:String in zfblData) {
zfblDataProvider.addItem({label:zfblData[key], data:key});
}
cmb_zfbl.dataProvider = zfblDataProvider;
cmb_zfbl.addEventListener(Event.CHANGE, cmb_zfbl_changeHandler);
cmb_zfbl.selectedIndex = 0;
}
private function cmb_zfbl_changeHandler(event:Event):void {
var selectedZfbl:String = cmb_zfbl.selectedItem.label;
zfbl = Number(selectedZfbl.split("#v")[0]);
}
private function btnOk_clickHandler(event:MouseEvent):void {
dispatchEvent(new Event("zfblSelected"));
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:Form>
<s:FormItem label="项目编码">
<s:Label id="txtBm" />
</s:FormItem>
<s:FormItem label="项目名称">
<s:Label id="txtMc" />
</s:FormItem>
<s:FormItem label="自付比例">
<s:ComboBox id="cmb_zfbl" width="100%" />
</s:FormItem>
<s:FormItem>
<s:Button label="确定" click="btnOk_clickHandler(event)" />
</s:FormItem>
</s:Form>
</s:TitleWindow>
</fx:Component>
</fx:Declarations>
fx:Inititalize init(); </fx:Inititalize>
其中,frmZfblSelect 可以通过以下方式引用:
fx:Script <![CDATA[ private function openZfblSelect():void { var frmZfbl:frmZfblSelect = new frmZfblSelect(); frmZfbl.Bm = "项目编码"; frmZfbl.Mc = "项目名称"; frmZfbl.zfblData = {"1":"自付比例1#v0.5", "2":"自付比例2#v0.6", "3":"自付比例3#v0.7"}; frmZfbl.addEventListener("zfblSelected", zfblSelectedHandler); PopUpManager.addPopUp(frmZfbl, this, true); PopUpManager.centerPopUp(frmZfbl); }
private function zfblSelectedHandler(event:Event):void {
var selectedZfbl:Number = frmZfblSelect(event.target).Zfbl;
Alert.show("已选择自付比例:" + selectedZfbl);
}
]]>
</fx:Script>
<s:Button label="选择自付比例" click="openZfblSelect()" /
原文地址: https://www.cveoy.top/t/topic/hrGD 著作权归作者所有。请勿转载和采集!