这几天研究了研究listbox和arraylist的绑定 写出来 大家看一看 同时在后面要和大家探讨点问题
在DAL层先定义结构,这个结构要和类是一个级别的
struct Tname
{
public string TransferWayCode;
public string TransferWayName;
public string TC
{
get
{
return TransferWayCode;
}
}
public string TN
{
get
{
return TransferWayName;
}
}
}
/// <summary>
/// 编写信息加载函数
/// </summary>
/// <returns>arrayList</returns>
public ArrayList GetGy_TransferWayArrlist()
{
try
{
SqlCommand comm = new SqlCommand();
comm.CommandText = "proc_Gy_TransferWay_Select";
comm.CommandType = CommandType.StoredProcedure;
comm.Connection = sqlConnection;
sqlConnection.Open();
SqlDataReader Reader = comm.ExecuteReader(CommandBehavior.CloseConnection);
Tname Transfer;
List = new ArrayList();
while (Reader.Read())
{
Transfer = new Tname();//这几步是关键,意思就是接受什么变量都可以,这块接受出来的是从数据库中读
Transfer.TransferWayCode = Reader[0].ToString();//出的字符串
Transfer.TransferWayName = Reader[1].ToString();
List.Add(Transfer);
}
sqlConnection.Close();
return List;//返回集合
}
catch (SqlException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
}
再回到界面层接收数据,进行绑定
/// <summary>
/// 把集合显示到listbox
/// </summary>
private void listBingdingList()
{
Gy_TransferWay = new DAlGy_TransferWay();
List1 = Gy_TransferWay.GetGy_TransferWayArrlist();
flag = false;//设置真假值 控制selectindex的变化
lsbGy_TransferWay.DataSource = List1;//进行绑定
lsbGy_TransferWay.ValueMember = "TC";
lsbGy_TransferWay.DisplayMember = "TN";
flag = true;
}
到此绑定结束.这么用很好