- -!今天做了件糊涂事,居然忘记用sp来直接cross表格来取值。不过由此也得到一个方法:
private struct SLocation { public string name; public int ID; } private ArrayList GetLocationArrayList() { if (this._dsLocation.Tables.Count<=0) { this._dsLocation = this._loc.GetLocationList(); } DataTable _dt = this._dsLocation.Tables[0]; ArrayList _al = new ArrayList(); SLocation _stcloc = new SLocation(); foreach (DataRow _dr in _dt.Rows) { _stcloc.ID = Convert.ToInt32(_dr["LOCATION_ID"]); _stcloc.name = _dr["LOCATION_NAME"].ToString(); _al.Add(_stcloc); } return _al; } private String GetLocationNameByID( int ID) { if (this._alLocation.Count<=0) { this._alLocation = this.GetLocationArrayList(); } IEnumerator _emun = _alLocation.GetEnumerator(); SLocation _stcloc = new SLocation(); String _locName = string.Empty; for (int i=0;i<_alLocation.Count-1;i++) { _emun.MoveNext(); _stcloc = (SLocation)_emun.Current; if (_stcloc.ID == ID) { _locName = _stcloc.name; break; } } return _locName; }
先声明一个结构,再将结构做为object放入arraylist.
over