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(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(“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 = "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/”;
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 ?