PDA

View Full Version : کند بودن سرعت اتصال به دیتا گرید



mahdad sepah
سه شنبه 28 تیر 1390, 10:51 صبح
سلام خدمت همه دوستان عزیر
من می خواهم وقتی اطلاعات را وارد دیتا گرید کردم کل گرید از نو لود نشه چون اینجوری اطلاعات با یه مکثی وارد میشه می خوام فقط همون رکوردی که ثبت کردم به گرید اضافه بشه نه از اول لود بشه؟
تورو خدا یکی کمک کنه تا به حال چندین بار پرسیدم :گریه:

Esmail Solhkhah
سه شنبه 28 تیر 1390, 13:39 عصر
شما کد مستقیم sql مینویسی

چرا از BindingSource و دیتاست استفاده نمیکنی؟

myazdani
سه شنبه 28 تیر 1390, 15:29 عصر
سلام
دوست عزيز اگه زمان طراحي ديتا سورس برا گريد ويو تعيين نكرده باشي ميتوني وقتي ركورد ثبت شد مي توني توسط دستور زير اونو به گريد ويو اضافه كني اينطوري:

dataGridView1.Rows.Add();

كه داخل پرانتز مقادير فيلدهاي ركوردت رو مي نويسي و با كاما از هم جدا مي كني.

مويد باشي

mahdad sepah
سه شنبه 28 تیر 1390, 17:36 عصر
شما کد مستقیم sql مینویسی

چرا از BindingSource و دیتاست استفاده نمیکنی؟
مان با linq کار می کنم چه جوری میشه از BindingSource استفاده کرد؟؟؟

Esmail Solhkhah
سه شنبه 28 تیر 1390, 17:47 عصر
یه دیتاتیبل از خروجی Linq بگیر به عنوان DataSource بده به BindingSource

mahdad sepah
سه شنبه 28 تیر 1390, 18:50 عصر
یه دیتاتیبل از خروجی Linq بگیر به عنوان DataSource بده به BindingSource
آقا من مثل خودت حرفه ای نیستم اگه می تونید با کد توضیح بدید خیلی خیلی ممنونتون میشم

Esmail Solhkhah
سه شنبه 28 تیر 1390, 19:16 عصر
آقا من مثل خودت حرفه ای نیستم اگه می تونید با کد توضیح بدید خیلی خیلی ممنونتون میشم


public static System.Data.Linq.Table<Vahed> GetVahedTable()
{
MainDataClassesDataContext dc = new MainDataClassesDataContext();
return dc.GetTable<Vahed>();
}

private void LoadData()
{
dataGridView1.DataSource = GetVahedTable();
}

mahdad sepah
سه شنبه 28 تیر 1390, 19:29 عصر
آقا من امتحان کردم اروریم نداد ولی کار نکرد:ناراحت:
میشه خواهش کنم خودتون برنامه اش را بنویسید بذارید رو سایت؟
دستتون درد نکنه

Esmail Solhkhah
سه شنبه 28 تیر 1390, 19:32 عصر
آقا من امتحان کردم اروریم نداد ولی کار نکرد:ناراحت:
میشه خواهش کنم خودتون برنامه اش را بنویسید بذارید رو سایت؟
دستتون درد نکنه

شما یه لطفی کنید برنامتون رو بذارید تعییراتش رو اعمال میکنم.

موفق باشید.

mahdad sepah
سه شنبه 28 تیر 1390, 19:41 عصر
okالان میذارم بازم ممنون

mahdad sepah
سه شنبه 28 تیر 1390, 20:03 عصر
امیدوارم درست گذاشته باشم

Esmail Solhkhah
سه شنبه 28 تیر 1390, 20:08 عصر
امیدوارم درست گذاشته باشم


دوست عزیز پرژه شما با vs2010 و SQL 2008 نوشته شده

متاسفانه بنده تو سیستمم vs2008 و sql2005 دارم

اگه با این مشخصات بدی خوب میشه.

Esmail Solhkhah
سه شنبه 28 تیر 1390, 20:14 عصر
درهر صورت میتونی از این نمونه کد استفاده کنی




MainDataClassesDataContext db = new MainDataClassesDataContext();

Vahed v = new Vahed();

v.Name = textBox1.Text;

db.Vaheds.InsertOnSubmit(v);

db.SubmitChanges();

dataGridView1.DataSource = db.Vaheds;

mahdad sepah
سه شنبه 28 تیر 1390, 20:17 عصر
بذارید کدمو میذارم


DataClasses1DataContext db = new DataClasses1DataContext();
db.tes.InsertOnSubmit(new te {name=textBox1.Text,family=textBox2.Text,tell=text Box4.Text,age=int.Parse(textBox3.Text) });
db.SubmitChanges();
dataGridView1.DataSource = db.tes;

مشکل من دوباره لود شدنه گریده

Esmail Solhkhah
سه شنبه 28 تیر 1390, 20:20 عصر
کد بنده رو تطبیق بده

موردی نداره اگه Insert کردی همزمان تو گرید هم نمایش داده میشه

mahdad sepah
سه شنبه 28 تیر 1390, 20:27 عصر
تفاوت اصلی کد شما با من در چیه؟

mahdad sepah
سه شنبه 28 تیر 1390, 20:29 عصر
الان این همون bindingsource است؟

Esmail Solhkhah
سه شنبه 28 تیر 1390, 20:30 عصر
تفاوت اصلی کد شما با من در چیه؟

شما کلاس te یا tes رو تومتد InsertOnSubmit ایجاد new کردید

بنده بالاش

درهرصورت درسته

اگه موردی هست ببینید جای دیگه نباشه

Esmail Solhkhah
سه شنبه 28 تیر 1390, 20:34 عصر
الان این همون bindingsource است؟

نه دیگه نیازی به BindingSource تو این کد نیست

چون گرید رو مستقیم بایند کردید

Binding Source یه واسط هستش بین دیتاسورس و کنترل

mahdad sepah
سه شنبه 28 تیر 1390, 20:39 عصر
دستتون درد نکنه وقتتونو گذاشتید واقعا ممنونم
ولی آخرش متوجه نشدم چه جوری دیتا گرید فقط بیاد همون داده ای که وارد کردیم را نمایش بده نه دوباره لود بشه:گریه:

Esmail Solhkhah
سه شنبه 28 تیر 1390, 20:43 عصر
دستتون درد نکنه وقتتونو گذاشتید واقعا ممنونم
ولی آخرش متوجه نشدم چه جوری دیتا گرید فقط بیاد همون داده ای که وارد کردیم را نمایش بده نه دوباره لود بشه:گریه:

ببینید با کدی که شما گذاشتید یا کد بنده دیتاگرید شما بعد ثبت اطلاعات جدید رکورد جدید بهش اضافه میشه دوباره از اول لود نمیشه

mahdad sepah
سه شنبه 28 تیر 1390, 20:49 عصر
دستتون درد نکنه ممنونم