PDA

View Full Version : مبتدی: انتخاب سطر به سطر یک جدول در سی شارپ با دستورات EF



1000net
سه شنبه 12 اسفند 1393, 10:35 صبح
سلام دوستان عزیزم
روی یک فرم یک دکمه و دو تکست باکس دارم و من میخام با هر بار کلیک بروی دکمه نام ونام خانوادگی از جدول(از سطر یک) خوانده بشه و داخل تکست باکس بریزه؟

SabaSabouhi
سه شنبه 12 اسفند 1393, 12:00 عصر
سلام دوستان عزیزم
روی یک فرم یک دکمه و دو تکست باکس دارم و من میخام با هر بار کلیک بروی دکمه نام ونام خانوادگی از جدول(از سطر یک) خوانده بشه و داخل تکست باکس بریزه؟

سلام
دو تا راه داری
1. کل اطلاعات جدول رو با فرمان ToList لیست کنی، و یکی یکی خودت بخونی ازشون.
2. رکوردها رو یکی یکی بخونی با داشتن آخرین Id رکورد قبلی به صورت

var nextItem = context.MyTable
.Where( x=> x.Id > lastId )
.OrderBy( x=> x.Id )
.FirstOrDefault();
if ( nextItem != null ) lastId = nextItem.Id

به همین راحتی

صبا صبوحی

1000net
پنج شنبه 14 اسفند 1393, 11:29 صبح
سلام
دو تا راه داری
1. کل اطلاعات جدول رو با فرمان ToList لیست کنی، و یکی یکی خودت بخونی ازشون.
2. رکوردها رو یکی یکی بخونی با داشتن آخرین Id رکورد قبلی به صورت

var nextItem = context.MyTable
.Where( x=> x.Id > lastId )
.OrderBy( x=> x.Id )
.FirstOrDefault();
if ( nextItem != null ) lastId = nextItem.Id

به همین راحتی

صبا صبوحی

سلام خیلی ممنون حالا من کدها رو برای prev به شکل زیر تغییر دادم یه مشکل داره مثلا اگه 5 سطر داشته باشیم از 4 شروع می کنه نمایش دادن.
کدها:

var nextitem = mydb.customers
.Where(x => x.cid < lastid)
.OrderByDescending(x => x.cid)
.FirstOrDefault();
if (nextitem != null)
lastid = nextitem.cid;

SabaSabouhi
پنج شنبه 14 اسفند 1393, 14:37 عصر
سلام خیلی ممنون حالا من کدها رو برای prev به شکل زیر تغییر دادم یه مشکل داره مثلا اگه 5 سطر داشته باشیم از 4 شروع می کنه نمایش دادن.
کدها:

var nextitem = mydb.customers
.Where(x => x.cid < lastid)
.OrderByDescending(x => x.cid)
.FirstOrDefault();
if (nextitem != null)
lastid = nextitem.cid;

سلام
این کد که نوشتی باید آخری رو توی NextItem بهت تحویل بده، توجه داشته باش که با این نمونه کدی که نوشتی باید قبل از شروع حقله lastId رو برابر با int.MaxValue بگذاری.

صبا صبوحی

1000net
پنج شنبه 14 اسفند 1393, 15:08 عصر
سلام
این کد که نوشتی باید آخری رو توی NextItem بهت تحویل بده، توجه داشته باش که با این نمونه کدی که نوشتی باید قبل از شروع حقله lastId رو برابر با int.MaxValue بگذاری.

صبا صبوحی

سلام ببخشید متوجه نشدم میشه واضح تر بگید .

SabaSabouhi
پنج شنبه 14 اسفند 1393, 20:36 عصر
سلام ببخشید متوجه نشدم میشه واضح تر بگید .

سلام
دوست عزیز، کدی رو که اینجا برای شما می‌نویسم کد کامل برنامه نیست. کدی هست نمونه که شما با توجه به اون کد اصلی رو بنویسی.
تو کد اولی که من گذاشتم فرض بر این بود که مقدار lastId صفر باشه، شما منطق رو برعکس کردی که از آخر بخونی. تو این حالت باید
مقدار LastId رو بیشتر بگیری از بالاترین مقدار موجود، تا تمام رکوردها رو برات برگردونه. برای همین هم گفتم که مقدارش رو بگذار int.MaxValue

صبا صبوحی