PDA

View Full Version : ارتباط این تابع با DataGrid



water_lily_2012
سه شنبه 16 آذر 1389, 08:15 صبح
سلام
من تابع زیر را در یک DLL دارم. چگونه می توانم در برنامه مقدار بازگشتی این تابع را درون یک DataGrid نشان دهم. از دات نت 2 و ویژوال استادیو 2005 استفاده می کنم.

public static List<Users> GetUserByUserID(int userId)
{
DAL.Users users = new DAL.Users();
IDataReader dr = users.GetUserByUserID(userId);

List<Users> userList = new List<Users>();

while (dr.Read())
{
Users user = new Users();
user.EmailAddress = dr["EmailAddress"].ToString();
user.FirstName = dr["FirstName"].ToString();
user.LastName = dr["LastName"].ToString();
user.Password = dr["Password"].ToString();
user.UserID = Convert.ToInt32(dr["UserID"]);
user.UserName = dr["EmailAddress"].ToString();
user.UserStatus = Convert.ToByte(dr["UserStatus"]);

userList.Add(user);
}

return userList;
}

hadi-z
سه شنبه 16 آذر 1389, 08:45 صبح
مقادیر موجود در userlist رو تو یه dataview بریزید و بعد dataview رو به گرید بدید تا تو گرید داده هارو ببینید

M.YasPro
سه شنبه 16 آذر 1389, 09:10 صبح
سلام
میشه به اینصورت عمل کرد :

List<Users> list = new List<Users>();
list = GetUserByUserID(userId);
BindingSource bs = new BindingSource();
DataGiridView.DataSource = bs;
bs.DataSource = list;
موفق باشید .

water_lily_2012
سه شنبه 16 آذر 1389, 11:45 صبح
سلام
با این کد مشکل دارم. مقادیر را نشون نمی ده. کد را به صورت زیر نوشتم.

BindingSource bs = new BindingSource();
dataGridView1.DataSource = bs;
bs.DataSource = BLL.Users.GetUsersByUserID("reza","122");

hadi-z
سه شنبه 16 آذر 1389, 11:51 صبح
فکر کنم باید جای دو خط آخر با هم عوض بشه.

M.YasPro
سه شنبه 16 آذر 1389, 11:55 صبح
متد GetUsersByUserID مقداری بر میگردونه؟Trace کردید ؟ اروی دارید ؟

water_lily_2012
سه شنبه 16 آذر 1389, 13:51 عصر
معلومه که مقدار بر می گردونه. چون همون تابع به یه صورت دیگه از استفاده می کنم کار می ده. مشکل فکر کنم در بایند کردن List به DataGrid هست.

M.YasPro
سه شنبه 16 آذر 1389, 14:47 عصر
اگر زمان اجرا و زمان طراحی اروری نداره :
کوئری مربوط به این متد تو لایه DA رو توی sqlserver با همون پارامترها(122,reza) چک کنید ببینید خروجی داره .

water_lily_2012
سه شنبه 16 آذر 1389, 15:02 عصر
سلام
مشکل حل شد. البته خیلی مسخره هست. اصلا حواسم به این مورد نبود.
آقای M.YasPro ممنون از همکاری گرمتون.

M.YasPro
سه شنبه 16 آذر 1389, 15:30 عصر
ببینید توی این فیلد ها در دیتابیس مقادیر null وجود نداره ! چون من به این مشکل برخوردم که وقتی null داشته باشم بدون ارور از while میپره بیرون و لیست رو خالی بر میگرونه