PDA

View Full Version : یک حلقه برای اضافه کردن یوزرکنترل به پنل



juza66
چهارشنبه 21 مهر 1395, 01:00 صبح
با سلام
عزاداری هاتون قبول

مشکلی در ایجاد یک حلقه دارم؛ اونم اینه که من یک یوزر کنترل ساختم و به صورت زیر از دیتاتیبل اون لیبل هاش رو تغییر میدم. مشکلم اینه که این حلقه فقط آخرین رکورد منه رو درون پنل اضافه میکنه!!!
آیا امکانش هم من یوزر کنترل رو بصورت آرایه در بیارم و همه رو یکجا به پنل بدم؟ مثلا اگر 10 رکورد هستن که متغییره؛ من با حلقه این ده یوزرو رو پرکنم و بدم به پنل..


خیلی سرچ زدم نتونستم جوابی برای این سوالم پیدا کنم. ممنون میشم راهنمایی کنید. باتشکر



DataTable dt = ClassSQL.SelectSQL.GetData("Select * from tblusers");
UserControl1 f = new UserControl1();

foreach (DataRow dr in dt.Rows)
{
f.lblname.Text = dr["password"].ToString();
panel1.Controls.Add(f);
}




اینجوری هم یورزکنترل واس آرایه ساختم ولی خطا میده عکس خطا ضمیمه هم شده:


DataTable dt = ClassSQL.SelectSQL.GetData("Select * from tblusers");
int i = 0;
UserControl1[] f = new UserControl1[i];

foreach (DataRow dr in dt.Rows)
{
f[i].lblname.Text = dr["password"].ToString();
panel1.Controls.AddRange(f);
i++;
}



عکس خطا این ارایه»
142970

juza66
چهارشنبه 21 مهر 1395, 01:21 صبح
درست شد

اینم واس کسانی که دنبال کدشن



DataTable dt = ClassSQL.SelectSQL.GetData("Select * from tblusers");
int i = 1;

flowLayoutPanel1.SuspendLayout();
foreach (DataRow dr in dt.Rows)
{
UserControl1 user = new UserControl1();
f[i].lblname.Text = dr["password"].ToString();
flowLayoutPanel1.Controls.Add(user);
i++;
}
flowLayoutPanel1.ResumeLayout(true);



منبع:
http://barnamenevis.org/showthread.php?436499-%D8%B5%D8%AF%D8%A7-%D8%B2%D8%AF%D9%86-%DB%8C%DA%A9-%D8%AA%D8%A7%D8%A8%D8%B9-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%DB%8C%DA%A9-%D8%AE%D8%B5%D9%88%D8%B5%DB%8C%D8%AA-%DB%8C%D9%88%D8%B2%D8%B1%DA%A9%D9%86%D8%AA%D8%B1%D 9%84&highlight=%D8%AD%D9%84%D9%82%D9%87+%DB%8C%D9%88%D8 %B2%D8%B1%DA%A9%D9%86%D8%AA%D8%B1%D9%84

daniyaltjm
چهارشنبه 21 مهر 1395, 01:21 صبح
سلام خوب معلومه شما اومدین اول کار به آرایتون مقدار 0 رو دادین!! یعنی این آرایه حتی 1 خونه هم نداره!!
اینطوری مقدار بدین:

int i =1;
UserControl1[] f = new UserControl1[i]