# Listbox

**URL:** <https://forum.kirupa.com/t/listbox/123835>\
**Category:** Uncategorized\
**Created:** [September 27, 2004, 10:27pm UTC](https://forum.kirupa.com/t/listbox/123835 "2004-09-27T22:27:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![UC\_PRO](https://avatars.discourse-cdn.com/v4/letter/u/c68b51/32.png) [@UC\_PRO](https://forum.kirupa.com/u/UC_PRO)\
**Post date:** [September 27, 2004, 10:27pm UTC](https://forum.kirupa.com/t/listbox/123835/1 "2004-09-27T22:27:49Z")

</div>

> function padr(s, n, c) {  
> var nLen = s.length;  
> for (var i=nLen; i \< n; i++) {  
> s += c;  
> }  
> return s;  
> }  
> function dataLoad(isAdd) {  
> var sLabel, i;  
> equipment.onLoad = function() {  
> lbxIdDisplay.removeAll();  
> for (i=0; i\<this.n; i++) {  
> sLabel = padr(this[“Id”+i] + ", " + this[“Make”+i], 25, " ");  
> sLabel += " " + padr(this[“Model”+i], 13, " “) + " " + this[“Serial”+i];  
> lbxIdDisplay.addItem(  
> sLabel,  
> {Id:this[“Id”+i],  
> Make:this[“Make”+i],  
> Model:this[“Model”+i],  
> Serial:this[“Serial”+i]  
> }  
> );  
> }  
> if (!isAdd) {  
> dtfMsg.text = this.n + " Records are loaded. Click any record to view, edit or delete it, or click the Add Record button to add a new one.”;  
> } else {  
> dtfMsg.text = “Record has been added. Enter a new record and click Save to save it, or click any record to view, edit or delete it.”;  
> }

```
	for (i in gaFields) {
		mcFields["dtf" + gaFields*.name].text = '';
	}
}
equipment.tab = "Heavy";
equipment.cond = gsFilter;
//trace("condition = " + lvAddressData.cond);
equipment.sendAndLoad(sFileLoc + "getTableData.php", equipment, "POST");
//lvAddressData.send(sFileLoc + "getTableData.php", "newwin", "POST");

```

}

function checkFilter(compPassed) {  
gsFilter = compPassed.getSelectedItem().data;  
dtfMsg.text = "Loading records for " + compPassed.getSelectedItem().label;  
displayed for

```
for (var i in gaFields) {
	mcFields["dtf" + gaFields*.name].text = '';
}
btnSaveChanges._visible = false;
btnDeleteRecord._visible = false;

dataLoad(false);

```

}

cboFilter.setChangeHandler(“checkFilter”, this);

function getEdits(compPassed){  
mcFields.\_visible = true;  
if (btnAddThisRecord != undefined) {  
btnAddThisRecord.\_visible = false;  
}

```
if (btnSaveChanges == undefined) {
	this.attachMovie("FPushButtonSymbol", "btnSaveChanges", 2, {_x: 382, _y: 174});
	centerFontStyle.addListener(btnSaveChanges);
	btnSaveChanges.setLabel("Save Changes");
	btnSaveChanges.tabEnabled = false;
	btnSaveChanges.setClickHandler("updateRecord", this);
} else {
	btnSaveChanges._visible = true;
} 
// make Delete Record button if first time called
if (btnDeleteRecord == undefined) {
	this.attachMovie("FPushButtonSymbol", "btnDeleteRecord", 3, {_x: 382, _y: 204});
	centerFontStyle.addListener(btnDeleteRecord);
	btnDeleteRecord.setLabel("Delete Record");
	btnDeleteRecord.tabEnabled = false;
	btnDeleteRecord.setClickHandler("deleteRecord", this);
} else {
	btnDeleteRecord._visible = true;
}
dtfMsg.text = "Make changes to any fields in the edit boxes and click Save Changes, or click Delete Record to delete this record from the database";
var record = compPassed.getSelectedItem();
for (var i in gaFields) {
	mcFields["dtf" + gaFields*.name].text = record.data[gaFields*.name];
}

```

}

lbxIdDisplay.setChangeHandler(“getEdits”, this);

// function to SHOW BLANK FIELDS for data entry when Add Record is clicked  
function addRecord(g) {  
btnDeleteRecord.\_visible = false;  
btnSaveChanges.\_visible = false;  
mcFields.\_visible = true;  
for (var i in gaFields) {  
mcFields[“dtf” + gaFields\*.name].text = ‘’;  
}  
if (btnAddThisRecord == undefined) {  
this.attachMovie(“FPushButtonSymbol”, “btnAddThisRecord”, 1, {\_x: 382, \_y: 174});  
centerFontStyle.addListener(btnAddThisRecord);  
btnAddThisRecord.setLabel(“Save”);  
btnAddThisRecord.tabEnabled = false;  
btnAddThisRecord.setClickHandler(“addThisRecord”, this);  
}  
btnAddThisRecord.\_visible = true;  
// start focus on first field in form  
Selection.setFocus(“mcFields.dtfId”);  
dtfMsg.text = “Enter data for the new record in the edit boxes and click Save to add it to the database”;  
}

btnAddRecord.setClickHandler(“addRecord”, this);

// function to SAVE RECORD to database when btnAddThisRecord is clicked  
function addThisRecord() {  
for (var i in equipment) {  
delete equipment\*;  
}  
equipment.onLoad = function() {  
// msg will indicate status of insert  
dtfMsg.text = this.msg;  
// update display  
dataLoad(true);  
// keep Save button displayed in case user wants to enter multiple records  
//btnAddThisRecord.\_visible = false;  
}  
for (var i in gaFields) {  
if (gaFields\*.type == “n”) {  
equipment[gaFields\*.name] = Number(mcFields[“dtf” + gaFields\*.name].text);  
} else {  
equipment[gaFields\*.name] = escape(mcFields[“dtf” + gaFields\*.name].text);  
}  
}  
equipment.sendAndLoad(sFileLoc + “insertContact.php”, equipment, “POST”);  
[//lvAddressData.send](https://lvAddressData.send)(sFileLoc + “insertContact.php”, “newwin”, “POST”);  
}

// addThisRecord is an event handler for btnAddThisRecord, and is assigned when that  
// button is created, in the addRecord function above

// function to UPDATE A RECORD when Save Changes button is clicked  
function updateRecord() {  
var i;  
for (i in equipment) {  
delete equipment\*;  
}  
equipment.onLoad = function() {  
msg.text = this.msg;  
// update display if successful  
if (this.success) {  
dataLoad(false);  
}  
btnSaveChanges.\_visible = false;  
btnDeleteRecord.\_visible = false;  
}  
for (i in gaFields) {  
if (gaFields\*.type == “n”) {  
equipment[gaFields\*.name] = Number(mcFields[“dtf” + gaFields\*.name].text);  
} else {  
equipment[gaFields\*.name] = escape(mcFields[“dtf” + gaFields\*.name].text);  
}  
}  
equipment.tab = ‘Heavy’;  
equipment.cond = ‘Id=’ + Number(mcFields.dtfId.text);  
equipment.sendAndLoad(“updateContacts.php”, equipment, “POST”);  
[//lvAddressData.send](https://lvAddressData.send)(“updateContacts.php”, “newwin”, “POST”);  
}

// updateRecord is an event handler for btnSaveChanges, and is assigned when that  
// button is created, in the getEdits function above

// functions for DELETING A RECORD (confirmation, etc)  
function deleteRecord() {  
[//msg.text](https://msg.text) = "Delete Record clicked " + deleteConfirm.\_name;  
mcDeleteConfirm.\_visible = true;  
mcDeleteConfirm.yes.enabled = true;  
mcDeleteConfirm.no.enabled = true;  
mcDeleteConfirm.msg.text = "Are you sure you want to delete the record for " + mcFields.dtfId.text + " " + mcFields.dtfId.text + " ? ";  
}

// deleteRecord is an event handler for btnDeleteRecord, and is assigned when that  
// button is created, in the getEdits function above

mcDeleteConfirm.yes.onRelease = function() {  
// hide the confirmation window  
this.\_parent.\_visible = false;  
// disable the buttons in it so they don’t interfere with the main movie  
mcDeleteConfirm.yes.enabled = false;  
mcDeleteConfirm.no.enabled = false;  
// do the delete: clear all previous properties of lvAddressData  
for (var i in equipment) {  
delete equipment\*;  
}  
// say what to do when the delete is accomplished  
equipment.onLoad = function() {  
dtfMsg.text = this.msg;  
btnSaveChanges.\_visible = false;  
btnDeleteRecord.\_visible = false;  
mcFields.\_visible = false;  
// refresh display  
dataLoad(false);  
}  
// and call the php routine to delete record for specified contactID  
equipment.Id = Number(mcFields.dtfId.text);  
equipment.sendAndLoad(“deleteContact.php”, equipment, “POST”);  
};

mcDeleteConfirm.no.onRelease = function() {  
msg.text = “No record was deleted”;  
this.\_parent.\_visible = false;  
mcDeleteConfirm.yes.enabled = false;  
mcDeleteConfirm.no.enabled = false;  
};

/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* Program execution starts: START UP MESSAGE \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/

mcDeleteConfirm.\_visible = false;  
mcFields.\_visible = false;  
dtfMsg.text = “Choose a record to edit/delete by clicking on it, or choose a different filter to show a subset of the data”;

\_global.gaFields = [  
{editable: true, name: “Id”, type:“t”},  
{editable: true, name: “Make”, type:“t”},  
{editable: true, name: “Model”, type:“t”},  
{editable: true, name: “Serial”, type:“t”}  
];

\_global.gsFilter = “”;

// set this style on all components in movie  
globalStyleFormat.textFont = “Verdana”;  
globalStyleFormat.textSize = 11;   
globalStyleFormat.applyChanges();

// apply a monospace font to the listbox for an attempt at controlling column spacing  
var monospaceStyle = new FStyleFormat( {textFont:“Courier”,  
textSize:9} );  
monospaceStyle.addListener(lbxIdDisplay);

// format for pushbuttons only  
// add listener to this when each pushbutton is attached  
var centerFontStyle = new FStyleFormat( {textAlign:“center”} );

//sFileLoc = “[http://localhost/dbedit/](http://localhost/dbedit/)”;  
sFileLoc = “root@localhost”;  
lbxIdDisplay.setRowCount(20);  
lbxIdDisplay.setWidth(480); // note: setSize would wipe out setRowCount

equipment = new LoadVars();

cboFilter.tabEnabled = false;  
// default filter = all records  
cboFilter.setSelectedIndex(3);

btnAddRecord.tabEnabled = false;

// set up tab order of fields in data editing section  
// all other buttons and components on stage are tab-disabled  
for (var i=0; i\<gaFields.length; i++) {  
mcFields[“dtf” + gaFields\*.name].tabEnabled = true;  
mcFields[“dtf” + gaFields\*.name].tabIndex = i;  
}

The problem I have is that the data is sent to the listbox just fine, but I’m using mx Pro and the tut is mx only. The listbox are different and when I use mine it shows the data but once the data is clicked in the listbox it will not execute the getedit command. Any ideas whats wrong ?
