مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

farzadini

عضویت از 1395/11/01

پرکردن چند تکست باکس بر اساس یک تکست باکس دیگر

  • جمعه 14 مهر 1396
  • 23:00
تشکر میکنم

وقت اساتید محترم بخیر، من چند تا تکست باکس دارم در فرمم (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)
                  
              }     
               
 }

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • شنبه 15 مهر 1396
  • 16:58

برای گرفتن اطلاعات یک رکورد می بایست از متد FirstOrDefault استفاده کنید :

var employ = db.Database.SqlQuery<vw_Employee>("select * from vw_Employee Where EmployeeID = @EmployeeID;", txt_ID).FirstOrDefault<vw_Employee>();

حالا شما به فیلدهای رکورد مورد نظر توسط آبجکت employ دسترسی دارید و می توانید داخل تکست باکس ها قرار دهید.

کاربر سایت

farzadini

عضویت از 1395/11/01

  • شنبه 15 مهر 1396
  • 20:38

خیلی ممنون از پاسخ کارآمد جناب عالی . فقط همینجا می تونم بپرسم  با توجه به عکس برای کلیدهای (بعدی و قبلی اولین و آخرین ) چه دستوری بنویسم. البته برای مثلا قبلی که خیلی هم دردسر ندم

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • یکشنبه 16 مهر 1396
  • 10:58

براي اولين رکورد بدون در نظر گرفتن شرطه کد کاربر، اولین رکورد لیست را با 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>();

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)