【发布时间】:2018-03-30 17:29:05
【问题描述】:
我有具有 List 类型方法的数据访问类。其中数据完全来自 SQL 服务器,但我需要通过迭代 List 数据在我的 ASP GridView 中显示它。这是我的数据访问层。
public class AdminPanelDataAccessLayer
{
public List<PersonalInformation> GetAllPersonalInfo()
{
List<PersonalInformation> listsPersonalInfo = new List<PersonalInformation>();
string connString = ConfigurationManager.ConnectionStrings["HRMS"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand("usp_GetApplicantCNICAndName", conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
PersonalInformation pi = new PersonalInformation();
pi.CNIC = reader["CNIC"].ToString();
pi.Name = reader["Name"].ToString();
listsPersonalInfo.Add(pi);
}
return listsPersonalInfo;
}
}
}
这就是通过迭代在GridView中显示数据的方法。
private void GetAllData()
{
AdminPanelDataAccessLayer apdal = new AdminPanelDataAccessLayer();
List<PersonalInformation> pi = apdal.GetAllPersonalInfo();
DataTable dt = new DataTable();
DataRow dr = null;
dt.Columns.Add(new DataColumn("CNIC", typeof(string)));
dt.Columns.Add(new DataColumn("Name", typeof(string)));
foreach (object item in pi)
{
dr = dt.NewRow();
dr["CNIC"] = pi.Select(o => o.CNIC);
dr["Name"] = pi.Select(o => o.Name);
dt.Rows.Add(dr);
}
ViewState["CurrentTable"] = dt;
GridView2.DataSource = dt;
GridView2.DataBind();
}
请指导我实现我的目标。
【问题讨论】:
-
是windows还是web?如果有的话,请包括 aspx..
-
`
` -
我需要自己生成GridView的行和列,这就是为什么我只将它添加到我的aspx
标签: c# asp.net sql-server list gridview