- -!今天做了件糊涂事,居然忘记用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;
}
{
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