PDA

View Full Version : یه سوال در مورد لود اطلاعات از و نمایش در گرید ویو / بازه زمانی



RIG000
سه شنبه 11 مرداد 1390, 17:36 عصر
با سلام
راستش من برانامه ای نوشتم که اطلاعاتی در بانک ذخیره میکنه /تعدادی مقدار / حالابین اینها عکس هم هست /
از sql هم استفاده کردم. بانکم اس کیو ال هست.
حالا من 700 تا طر بهش دادم . که میشه 700 نام نام خانوادگی ... و 700 عکس ...
حالا من اینها رو تو قسمت ویرایش تو گرید نشونشون میدم و گرید رو باید حتما داشته باشم. موضوع اینکه من select که انجام میدم حالا همون هنگام لود فرم و یا بعد حذف سطری یا ویرایش ... اطلاعات باید در گرید لود بشه .
اما زمان زیادی رو میبره !! گاهی هم notresponding میده . به هر حال طول میکشه سیستم حالت هنگ کردن به خودش میگیره . حالا این جای سوال هست واسه من که ایا این مربوط به بهینه نبودن کد های منه یا اینکه سیستم من (کامپیوترم) توانایی اینو نداره تو بازه زمانی کم سریعا اطلاعات رو لود کنه!!
من این برنامه رو باس به کسی بدم . میترسم از این موضوع که اگه سیستم طرف خوب باشه وباز هم تو لود مشکل داشته باشم.
در ضمن سیستم من ضعیف هستش حالا نمیشه زیاد بگم ابروم می ره!!! ممنون راهنمایی کنین

mmd2009
سه شنبه 11 مرداد 1390, 19:16 عصر
با سلام

در چنین مواقعی باید از( BW (backgroundWorker استفاده کنید یا از theard که من پیشنهاد میکنم از BW استفاده بکنید به صورت زیر :


private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
//فرض کن یک دیتاتیل داری کافیه کد های سلکتو اینجا بنویسی و بذاری تو دیتاتیل
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
//اینجا هم بگو که دیتاتیل بره تو گریدویو
}

private void btnRun_Click(object sender, EventArgs e)
{
if (!this.backgroundWorker1.IsBusy)
{
this.backgroundWorker1.RunWorkerAsync();
}
}


امیدوارم ساده و مفید بوده باشه.

موفق باشید

RIG000
سه شنبه 11 مرداد 1390, 19:54 عصر
ممنون این الان چیکار میکنه؟

RIG000
سه شنبه 11 مرداد 1390, 20:40 عصر
رو این ارور

Error 2 'Govahi_Eshteqal_be_Tahsil.frmdaneshjoEdit' does not contain a definition for 'backgroundWorker1' and no extension method 'backgroundWorker1' accepting a first argument of type 'Govahi_Eshteqal_be_Tahsil.frmdaneshjoEdit' could be found (are you missing a using directive or an assembly reference?) D:\Final\Govahi Eshteqal be Tahsil\Govahi Eshteqal be Tahsil\frmdaneshjoEdit.cs 68 22 Govahi Eshteqal be Tahsil

backgroundWorker1

RIG000
سه شنبه 11 مرداد 1390, 23:14 عصر
مهندس
mmd2009 (http://barnamenevis.org/member.php?115786-mmd2009)


میشه یه توضیحی بدی؟

RIG000
چهارشنبه 12 مرداد 1390, 00:12 صبح
دوست عزیز ارور و ... رو گرفتم ممنون که کمک کردی فقط نمیدونم چرا چیزی سلکت نمیشه چند سایت اونوری هم دیدم فهمیدم موشوع از چه قرار هست .اما اینکه چیزی لود نمیکنه موندم!!!

RIG000
چهارشنبه 12 مرداد 1390, 00:53 صبح
private void backgroundWorker1_DoWork_1(object sender, DoWorkEventArgs e)
{
dt.Clear();
da = new SqlDataAdapter("select * from daneshjo ", con);
da.Fill(dt);
bs.DataSource = dt;
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
dataGridView1.DataSource = bs;
change_columns();

}

private void frmdaneshjoEdit_Load(object sender, EventArgs e)
{


if (!this.backgroundWorker1.IsBusy)
{
this.backgroundWorker1.RunWorkerAsync();

}
چیزی رو نشون نمیده تو گرید کسی میدونه چرا ؟!!!!!!

RIG000
چهارشنبه 12 مرداد 1390, 10:14 صبح
کسی نمیدونه کد بالا چشه؟