DataGridView的数据源可以使List, DataSet,DataTable等。
(1)填充List数据,
首先要在DateGridView上右击,选择添加列,把需要显示在DateGridView上的列名添好后确定,再右击编辑列,在数据DatePropertyName上填写要显示的数据库中字段的名字(如果使用的是存储过程填写存储过程中的变量)(如果使用的SQL语句没有必要了)
Headertext是列的显示名称。
DatePropertyName与数据源相关联的列。
Name标识对象的名称。
Visible是否显示此列。
List<RoomType> roomTypes = new List<RoomType>();
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand objCommand = new SqlCommand("usp_SelectRoomTypesAll", conn);
objCommand.CommandType = CommandType.StoredProcedure;
conn.Open();
using (SqlDataReader objReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection))
{
while (objReader.Read())
{
RoomType roomType = new RoomType();
roomType.TypeId = Convert.ToInt32(objReader["TypeID"]);
roomType.TypeName = Convert.ToString(objReader["TypeName"]);
roomType.TypePrice = Convert.ToDecimal(objReader["TypePrice"]);
roomType.IsAddBed = Convert.ToString(objReader["IsAddBed"]);
roomType.AddBedPrice = Convert.ToDecimal(objReader["AddBedPrice"]);
if (objReader["Remark"] != null)
roomType.Remark = Convert.ToString(objReader["Remark"]);
roomTypes.Add(roomType);
}
objReader.Close();
objReader.Dispose();
}
conn.Close();
conn.Dispose();
}
dataGridView1.DataSource = roomTypes;
(2)填充DateSet数据
string sql = "select * from roomtype";
DataSet objDataSet = new DataSet();
using (SqlConnection conn =new SqlConnection(connString))
{
SqlDataAdapter objSqlDataAdapter = new SqlDataAdapter(sql, conn);
objSqlDataAdapter.Fill(objDataSet, "Info");