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

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

کاربر سایت

farzadini

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

پرکردن کمبوباکس از ستون یک جدول

  • پنجشنبه 27 مهر 1396
  • 00:08
تشکر میکنم

با سلام و احترام به اساتید

من در یک فرم (WPF) چند تا تکس باکس (و یک کمبوباکس) دارم که همه‌ی اونها در هنگام لود پنجره با استفاده از دستور زیر آخرین خط جدول رو به تکست باکس ها وارد می کنند. حالا یکی از ستونهای جدول رو می خوام به صورت کمبو باکس نمایش بده. (از این جهت که درصورتی که کاربر بخواد بعدا دکمه ویرایش رو بزنه اجازه انتخاب موارد دیگری رو داشته باشه) چه دستوری باید در window_Loaded بزنم که کمبوباکسم ستون مربوطه رو در ردیف انتخاب شده نشون بده.

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

private void Window_Loaded(object sender, RoutedEventArgs e)
        {
 var query = (from m1 in database.vw_Employee

                             select new
                             {
                                 m1.EmployeeID,
                                 m1.EmployeeName,
                                 m1.Job
                             }).ToList().Last();
}
txt_EmplyeeId.text = query.EmployeeId.ToString();
txt_EmplyeeName.text = query.EmployeeName;
cmb_Job.text = // چی بنویسم اینجا ؟

 

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

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

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 27 مهر 1396
  • 10:07

یک کوئری بزنید به جدول مورد نظر و بعد اطلاعات واکشی شده را در کومبو نمایش دهید

این لینک رو ببینید

کاربر سایت

farzadini

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

  • پنجشنبه 27 مهر 1396
  • 23:55

تشکر میکنم اما راستش من کمی گیج شدم چون وقتی برک می زنم از این سه تا خصوصیت کمبوباکس)

DisplayMemberPath , 
SelectedValuePath , 
, 
text

جواب می گیرم   به این معنی که اعداد و متن مورد نظر رو توی محیط "Autos" به من نشون میده ولی ادامه کار رو می زنم یعنی پنجره لود میشه در کمبوباکس چیزی نمایش نمیده . حتی اگر خاصیت تکست کمبوباکس رو دستی هم یه چیزی خودم بنویسم چیزی نشون نمیده

private void Window_Loaded(object sender, RoutedEventArgs e)
        {
 var query = (from m1 in database.vw_Employee
 
                             select new
                             {
                                 m1.EmployeeID,
                                 m1.EmployeeName,
                                 m1.Job
                             }).ToList().Last();
}
txt_EmplyeeId.text = query.EmployeeId.ToString();
txt_EmplyeeName.text = query.EmployeeName;
cmb_Job.text = // چی بنویسم اینجا ؟
cmb_Job.DisplayMemberPath = query.Job;
;()cmb_Job.SelectedValuePath = query.EmployeeId.ToString

کاربر سایت

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

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

  • شنبه 29 مهر 1396
  • 10:16

شما کافی ست لیست خود را داخل Itemsource کمبوباکس ریخته، سپس DisplayMemberPath و SelectedValuePath را بانام ستون های خود که می خواهید نمایش داده شود و مقدار بگیرد Bind کنید .

کاربر سایت

farzadini

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

  • یکشنبه 30 مهر 1396
  • 22:50

سپاس از توجه شما

دقیقا همین سوال من هم هست. یعنی اینکه چطور لیستم رو در itemSource بایند کنم.

بعد از اینکه در کمبوباکس محیط XAML 

<ComboBox x:Name="cmb_Job" ItemsSource="{Binding }" />

درست در ادامه  Binding داخل { } لازمه چه چیزی بنویسم؟ که بعدا " DisplayMemberPath , SelectedValuePath " رو بتونم توی محیط run داشته باشم.

تا اینجای کار این "دو" مورد رو توی کد بیهایند وقتی اجرا می کنم دقیقا مقادیر رو نشونم می ده ولی در پنجره اصلی کمبوباکسم خالی هست.

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

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

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

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