Flash CS3 Documentation |
|||
| ActionScript 2.0 Components Language Reference > DataSet component > DataSet.locateById() | |||
Flash Player 7.
Flash MX Professional 2004.
dataSetInstance.locateById(id)
id A string identifier for the item in the collection to be located.
A Boolean value.
Method; positions the current iterator on the collection item whose ID matches id. This method returns true if the specified ID can be matched to an item in the collection; otherwise, it returns false.
The following example uses DataSet.find() to search for an item in the current collection whose name and id fields contain the values "Bobby" and 105, respectively. If found, DataSet.getItemId() is used to get the unique identifier for that item, and DataSet.locateById() is used to position the current iterator at that item.
To test this example, drag a DataSet component to the Stage, and give it an instance name of student_ds. Add two properties, name (String) and id (Number) to the DataSet by using the Schema tab of the Component inspector. If you don't already have a copy of the DataBindingClasses compiled clip in your library, drag a copy of the compiled clip from the Classes library (Window > Common Libraries > Classes). Add the following ActionScript to Frame 1 of the main timeline:
student_ds.addItem({name:"Barry", id:103});
student_ds.addItem({name:"Bobby", id:105});
student_ds.addItem({name:"Billy", id:107});
trace("Before find() > " + student_ds.currentItem.name); // Billy
var studentID:String;
student_ds.addSort("id", ["name","id"]);
if (student_ds.find(["Bobby", 105])) {
studentID = student_ds.getItemId();
student_ds.locateById(studentID);
trace("After find() > " + student_ds.currentItem.name); // Bobby
} else {
trace("We lost Billy!");
}
DataSet.applyUpdates(), DataSet.find(), DataSet.getItemId()
Flash CS3