我正在创建的程序的一部分包括一个下拉菜单,用户可以在输入负载位置之前选择一种类型的负载。然后,负载和位置将出现在数据网格中,并且可以添加用户喜欢的数量。
我不太确定我哪里出错但这是我的代码:
function loadlist():void{
combobox1.addItem ( { label: "Choose a Load" } );
combobox1.addItem ( { label: "Point Load" } );
combobox1.addItem ( { label: "Bending Moment" } );
combobox1.addItem ( { label: "Uniformly Distributed Load" } );
combobox1.addItem ( { label: "Varying Distributed Load" } );
combobox1.addItem ( { label: "Nonlinear Distributed Load" } );
}
function loadbuttonclick (event:MouseEvent):void{
combobox1.removeAll();
loadlist();
trace("load");
//datagrid
var myTextFormat: TextFormat = new TextFormat();
myTextFormat.font = "Comic Sans MS";
var datagrid:DataGrid = new DataGrid;
datagrid.columns = ["Type of Load", "Position of Load"];
datagrid.resizableColumns = true;
datagrid.setRendererStyle("textFormat", myTextFormat);
datagrid.addItem(Load type: "combobox1.selectedItem.label", Load position: "loadposition.text");
addChild(datagrid);
datagrid.addEventListener(Event.CHANGE, gridItemClick);
function gridItemClick (event:Event):void{
trace("The Selected Load is " + combobox1.selectedItem.label);
}
}
}
答案 0 :(得分:1)
你应该从这一行得到一个错误,语法似乎是错误的:
datagrid.addItem(Load type: "combobox1.selectedItem.label", Load position: "loadposition.text");
我曾经使用过数据网格,但是如果我没记错的话,该项目就是一个对象,哪些键应与列匹配。
由于您的列包含空格,您将无法写入:
datagrid.addItem({Load type: combobox1.selectedItem.label, Load position: loadposition.text});
但是,这应该有效:
var object:Object = new Object();
object["Type of Load"] = combobox1.selectedItem.label;
object["Position of Load"] = loadposition.text;
datagrid.addItem(object);
我没有时间对它进行测试,但这应该是正确的方向。