water_lily_2012
یک شنبه 01 مرداد 1391, 18:03 عصر
سلام
مدتی پیش یک برنامه دیدم که با زدن یک دکمه شروع به پر کردن دیتاگرید می کرد. به این صورت که رکورد اول و سپس دوم و بعد سوم و به همین ترتیب رکورد ها در دیتاگرید اضافه میشد. سپس اسکرول شد و تا آخر ادامه پیدا کرد و همه رکورد ها وارد شد.
در مدت وارد شدن رکورد ها می توانستیم عملیاتی دیگری را نیز انجام دهیم و برنامه فریز نبود.
بهترین روش این کار چگونه است؟؟؟
من برای پر کردن دیتاگرید از این تابع که در یک کلاس قرار گرفته استفاده می کنم. می شود این تابع و کلاس را برای این کار برنامه نویسی کرد؟؟
public static List<BLLMember> GetAllMember(string code)
{
DAL.DALMember memberClass = new DAL.DALMember();
IDataReader dr = memberClass.GetAllMember(code);
List<BLLMember> memberList = new List<BLLMember>();
while (dr.Read())
{
BLLMember member = new BLLMember();
member.Code = dr["Code"].ToString();
member.FirstName = dr["FirstName"].ToString();
member.LastName = dr["LastName"].ToString();
member.Father = dr["Father"].ToString();
member.NationalNumber = dr["NationalNumber"].ToString();
member.Tel = dr["Tel"].ToString();
member.Mobile = dr["Mobile"].ToString();
member.NumberOfHonesty = Convert.ToInt32(dr["NumberOfHonesty"]);
member.NumberOfFiduciary = Convert.ToInt32(dr["NumberOfFiduciary"]);
member.MembershipDate = dr["MembershipDate"].ToString();
member.ExtensionDate = dr["ExtensionDate"].ToString();
member.Address = dr["Address"].ToString();
member.Explain = dr["Explain"].ToString();
member.Picture = (byte[])dr["Picture"];
memberList.Add(member);
}
return memberList;
}
اگر اشتباه نکنم. اگر در کنار دیتاگرید می خواستم کد نویسی کنم. از thread استفاده می کردم و با همین کدی که در بالا نوشتم به جای
memberList.Add(member);
تک رکورد را با دستور datagrid.items.add در خود دیتاگرید وارد می کردم.
اما قطعه کد من در یک کلاس قرار دارد این مشکل را چگونه رفع کنم؟؟
مدتی پیش یک برنامه دیدم که با زدن یک دکمه شروع به پر کردن دیتاگرید می کرد. به این صورت که رکورد اول و سپس دوم و بعد سوم و به همین ترتیب رکورد ها در دیتاگرید اضافه میشد. سپس اسکرول شد و تا آخر ادامه پیدا کرد و همه رکورد ها وارد شد.
در مدت وارد شدن رکورد ها می توانستیم عملیاتی دیگری را نیز انجام دهیم و برنامه فریز نبود.
بهترین روش این کار چگونه است؟؟؟
من برای پر کردن دیتاگرید از این تابع که در یک کلاس قرار گرفته استفاده می کنم. می شود این تابع و کلاس را برای این کار برنامه نویسی کرد؟؟
public static List<BLLMember> GetAllMember(string code)
{
DAL.DALMember memberClass = new DAL.DALMember();
IDataReader dr = memberClass.GetAllMember(code);
List<BLLMember> memberList = new List<BLLMember>();
while (dr.Read())
{
BLLMember member = new BLLMember();
member.Code = dr["Code"].ToString();
member.FirstName = dr["FirstName"].ToString();
member.LastName = dr["LastName"].ToString();
member.Father = dr["Father"].ToString();
member.NationalNumber = dr["NationalNumber"].ToString();
member.Tel = dr["Tel"].ToString();
member.Mobile = dr["Mobile"].ToString();
member.NumberOfHonesty = Convert.ToInt32(dr["NumberOfHonesty"]);
member.NumberOfFiduciary = Convert.ToInt32(dr["NumberOfFiduciary"]);
member.MembershipDate = dr["MembershipDate"].ToString();
member.ExtensionDate = dr["ExtensionDate"].ToString();
member.Address = dr["Address"].ToString();
member.Explain = dr["Explain"].ToString();
member.Picture = (byte[])dr["Picture"];
memberList.Add(member);
}
return memberList;
}
اگر اشتباه نکنم. اگر در کنار دیتاگرید می خواستم کد نویسی کنم. از thread استفاده می کردم و با همین کدی که در بالا نوشتم به جای
memberList.Add(member);
تک رکورد را با دستور datagrid.items.add در خود دیتاگرید وارد می کردم.
اما قطعه کد من در یک کلاس قرار دارد این مشکل را چگونه رفع کنم؟؟