PDA

View Full Version : سوال: چطور برام گریدم صفحه بندی قرا بدم؟



Mosafers
سه شنبه 22 اسفند 1391, 22:03 عصر
سلام...
من یه سری اطلاعات رو از دیتابیس دریافت میکنم و توی گرید نشون میدم و کل اطلاعات که نشون میده حدود 1000 تا هست هر چند کمه اما به دلایلی میخوام این مقدار رو محدود کنم؟
لطفا کمکم کنید...
همینطور بهتره به چه شکل باشه. که برای کاربر هم راحت بتونه به قسمت های بعد رفت؟

bazardeh
سه شنبه 22 اسفند 1391, 22:25 عصر
سوالت واضع نیست

قسمت جستجو بزار تا کاربر اطلاعات شو پیدا کنه



SqlDataAdapter da = new SqlDataAdapter("select * from Question where pkey like '" + "اطلاعات مورد نظر کاربر" + "'", con);

Mosafers
سه شنبه 22 اسفند 1391, 22:31 عصر
سلام ممنونم...
ببینید من میخوام سطر های گرید رو محدود کنم برای کاربر یعنی وقتی فرم باز شد اول 20 آیتم اول رو نمایش بده با یه دکمه به 20 آیتم بعدی بره؟ و طوری هم باشه که بتونه خودش مقدار رو کنه 30 تا ... یه همچین چیزی

bazardeh
سه شنبه 22 اسفند 1391, 22:36 عصر
مگه شما فیلد کلید نداری ، جستجو کن از 1 تا 20 و....
یه تکس باکس بزار
با کد sql

ma.rad
سه شنبه 22 اسفند 1391, 22:42 عصر
بسیار تکراری...
http://www.codeproject.com/Articles/16303/DataGrid-Paging-C-Windows-Forms

http://support.microsoft.com/kb/307710

khokhan
سه شنبه 22 اسفند 1391, 22:45 عصر
درود بر شما ابتدای کوئی یه دونه " top " با یه مقدار عددی بذار مثلا اگه می خوای 50 تای اولی رو نشون بده اینطوری می شه :


"select top50 * from Question "

Mosafers
سه شنبه 22 اسفند 1391, 22:46 عصر
مگه شما فیلد کلید نداری ، جستجو کن از 1 تا 20 و....
یه تکس باکس بزار
با کد sql
مرسی اط لطفتون یه نمونه مثل مثال آقای mr.rad میخواستم نمونه خوبی بود با تشکر

Mahmoud.Afrad
سه شنبه 22 اسفند 1391, 22:47 عصر
صفحه بندی دیتاگریدویو (http://barnamenevis.org/showthread.php?64210-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%AF%D8%B1-%D8%B3%D9%8A-%D8%B4%D8%A7%D8%B1%D9%BE&p=1667215&viewfull=1#post1667215)

Mosafers
سه شنبه 22 اسفند 1391, 22:57 عصر
صفحه بندی دیتاگریدویو (http://barnamenevis.org/showthread.php?64210-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%AF%D8%B1-%D8%B3%D9%8A-%D8%B4%D8%A7%D8%B1%D9%BE&p=1667215&viewfull=1#post1667215)
اینم عالی بود حیف به صورت usr control بود نتونستم با فرمم ستش کنم...و چرا همه ado مینویسن :ناراحت:


درود بر شما ابتدای کوئی یه دونه " top " با یه مقدار عددی بذار مثلا اگه می خوای 50 تای اولی رو نشون بده اینطوری می شه :
khokhan عزیز من از sql express استفاده میکنم چطور میتونم کد شما رو در express استفاده کنم؟


چون من میخوام برای سرعت بهتر این paging رو سمت sql انجام بدم از linq هم استفاده میکنم باید چیکار کنم؟؟؟؟؟

khokhan
سه شنبه 22 اسفند 1391, 23:01 عصر
فرقی نداره که هرکجای برنامه که با کوئری اطلاعات رو از جدولت واکشی می کنی

Mosafers
سه شنبه 22 اسفند 1391, 23:05 عصر
فرقی نداره که هرکجای برنامه که با کوئری اطلاعات رو از جدولت واکشی می کنی
نه منظورم اینه که کد رو کجا به چه شکل اجرا کنم؟
اصلا من بلد نیستم یه کد sql رو از طرف sql اجرا کنم یکی راهنماییم کنه ممنونم

khokhan
سه شنبه 22 اسفند 1391, 23:14 عصر
پس شما گریدتون رو چه جوریا fill می کنین ؟

Mosafers
سه شنبه 22 اسفند 1391, 23:22 عصر
پس شما گریدتون رو چه جوریا fill می کنین ؟
من از linq استفاده میکنم مثلا جدولم رو اینطوری پر میکنم...
database db = new database();
dataGridView1.DataSource = db.tblCustomer;

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

مثلا یه proceduore باشه که از طرف Sql محدود کنه 10 تای اول رو نشون بده...
یا مثلا مثل کد زیر استفاده کنم اما در sql چون سرعت برام مهمه و حتما باید سمت sql باشه...
select * from tblCustomer

مثلا دیتابیس من تحت شبکه هست در روش سمت سی شارپ من تمامی اطلاعات رو از دیتابیس میگیرم بعد روش کوری رو انجام میدم که بهینه نیست من میخوام قبل از fill کردن این عمل رو انجام بدم؟

khokhan
چهارشنبه 23 اسفند 1391, 00:00 صبح
سلام

اینو امتحان کن
var list = (from tblCustomer in ctn.Items
where tblCustomer.DeliverySelection == true && tblCustomer.Delivery.SentForDelivery == null
orderby tblCustomer.Delivery.SubmissionDate
select tblCustomer).Take(5);

Mahmoud.Afrad
چهارشنبه 23 اسفند 1391, 02:13 صبح
صفحه بندی دیتاگریدویو با LINQ (صفحه بندی اطلاعات دریافتی از دیتابیس توسط LINQ) (http://barnamenevis.org/showthread.php?64210-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%AF%D8%B1-%D8%B3%D9%8A-%D8%B4%D8%A7%D8%B1%D9%BE&p=1721966&viewfull=1#post1721966)

Mosafers
چهارشنبه 23 اسفند 1391, 17:09 عصر
سلام نه متاسفانه درست متوجه نشدید من یه :

مثلا دیتابیس من تحت شبکه هست در روش سمت سی شارپ من تمامی اطلاعات رو از دیتابیس میگیرم بعد روش کوری رو انجام میدم که بهینه نیست من میخوام قبل از fill کردن این عمل رو انجام بدم؟
اگر دیتابیس من تحت شبکه باشه ابتدا برنامه 100 آیتم رو دریافت کرده و نمایش داده و فیلتر کرده اما من میخوام قبل از fill کردن دیتابیس بگم 10 سطر رو بخونه و کلید های بعدی رو هم همینطور انجام بدم...
میشه در رابطه با procedure بیشتر توضیح بدید؟
با تشکر