وقت اساتید محترم بخیر، من چند تا تکست باکس دارم در فرمم (WPF) . که هر بار که لود میشه آخرین ردیف از جدول اسامی رو برای من لود می کنه . اطلاعاتی مثل اسم، فامیل، عنوان. حالا اگر بخوام با تغییر تکست باکس ID به ردیف اطلاعات اون ID دسترسی پیدا کنم و اسم، فامیل و عنوان مرتبط با اون ID رو در تکست باکس ها نمایش داده بشه چه کدی رو باید در ادامه بنویسم؟ سپاس از توجه شما شکل زیر کمی مشابه مسئله ای که مطرح شد داره
من البته تا اینجای کد رو تونستم بنویسم
private void txt_idEmployee_KeyDown(object sender, KeyEventArgs e) { string etr = e.Key.ToString(); if (etr == "Return") { string txt_ID; txt_ID = txt_idEmployee.Text; var query = database.Database.SqlQuery<vw_Employee>("select * from vw_Employee Where EmployeeID = '" + txt_ID + "'"); (if (query != null) { txt_EmployeeName.Text = // (code needed) } }
برای گرفتن اطلاعات یک رکورد می بایست از متد FirstOrDefault استفاده کنید :
var employ = db.Database.SqlQuery<vw_Employee>("select * from vw_Employee Where EmployeeID = @EmployeeID;", txt_ID).FirstOrDefault<vw_Employee>();
حالا شما به فیلدهای رکورد مورد نظر توسط آبجکت employ دسترسی دارید و می توانید داخل تکست باکس ها قرار دهید.
خیلی ممنون از پاسخ کارآمد جناب عالی . فقط همینجا می تونم بپرسم با توجه به عکس برای کلیدهای (بعدی و قبلی اولین و آخرین ) چه دستوری بنویسم. البته برای مثلا قبلی که خیلی هم دردسر ندم
براي اولين رکورد بدون در نظر گرفتن شرطه کد کاربر، اولین رکورد لیست را با First و آخرین رکورد را با Last بدست بیاورید و برای شماره صفحه های مختلف می توانید شماره صفحه را منهای یک کنید و مقدار به دست آمده را از لیست Skip کنید و از متد Take(1).Single استفاده کنید برای بدست آوردن مقدار مورد نظر.
مانند کد زیر :
// برای مثال شماره صفحه 5 است int pageNumber = 5; // بدست آوردن لیست کاربران var employAll = db.Database.SqlQuery<vw_Employee>("select * from vw_Employee;").ToList(); // اولین و آخرین کاربر var employFirst = employAll.FirstOrDefault<vw_Employee>(); var employLast = employAll.LastOrDefault<vw_Employee>(); // بدست آوردن کاربر nام var employPageNo = employAll.Skip(pageNumber-1).Take(1).SingleOrDefault<vw_Employee>();
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)