我有數據訪問類有列表<>類型的方法。在哪些數據完美地來自SQL服務器,但我需要通過迭代列表<>數據在我的ASP GridView中顯示它。這是我的數據訪問層。asp.net從列表<>方法得到值方法
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();
}
請指導我實現我的目標。
可能重複https://stackoverflow.com/questions/6943680/populate- a-usercontrol-gridview-with-a-list-of-objects – DiegoS
[用對象列表填充UserControl GridView]的可能重複(https://stackoverflow.com/questions/6943680/populate-a-usercontrol-gridview -with-a-list-of-objects) – DiegoS
它是Windows還是Web?請包括ASPX如果任何.. – Coding