View Full Version : مشکل با دستور selectedIndex در ComboBox
smt1383
دوشنبه 01 آذر 1389, 18:16 عصر
با سلام
من در برنامه ام از یک ComboBox استفاده کرده ام و آن را با یک ستون از یک DataTable متصل (Bind) کرده ام. مشکل من این است که می خواهم وقتی پنجره برای اولین بار باز می شود این ComboBox آیتم اول را نشان دهد (در حالیکه هیچ چیز را نشان نمی دهد) حتی دستور :
comboBox1.SelectedIndex=0;
نیز جواب نمی دهد. کسی از دوستان می تواند راهنمایی کند (توضیح: اگر ComboBox، به جدول متصل نباشد طبیعتاً بدون هیچ مشکلی دستور comboBox1.SelectedIndex=0 کار می کند)
hi level hdd
دوشنبه 01 آذر 1389, 18:39 عصر
سلام فکر کنم بتونی از Text از ویژگیهای ComboBox هم استفاده کنی و اونو برابر آیتم یک کومبو کنی
Amir Oveisi
دوشنبه 01 آذر 1389, 19:45 عصر
به چه شکل binding انجام دادید؟
کد مربوط رو قرار بدید.
smt1383
سه شنبه 02 آذر 1389, 08:43 صبح
به چه شکل binding انجام دادید؟
کد مربوط رو قرار بدید.
ابتدا myDataTable توسط یک DataAdapter پر می شود و سپس comboBox1 به این جدول bind می شود:
comboBox1.ItemsSource = myDataTable.DefaultView;
comboBox1.DisplayMemberPath = "DeviceName";
comboBox1.SelectedValuePath = "DeviceID";
مهدی فرزاد
سه شنبه 02 آذر 1389, 09:09 صبح
سلام
این کار رو انجام بده ببین نتیجه میگری؟؟
توی کد Xaml بنویس
<ComboBox x:Name="comboBox1" ItemsSource="{Binding}"
DisplayMemberPath="DeviceName"
SelectedValuePath="DeviceID"
</ComboBox>
بعد توی Code_behind بنویس
comboBox1.ItemsSource = myDataTable.DefaultView;
comboBox1.SelectedIndex=0;
به این لینک ها هم نگاهی بنداز
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/87abffbf-8e90-40e5-9756-628c28268c31/
http://helpcentral.componentone.com/CS/WPF_19/f/80/p/78479/215212.aspx
smt1383
سه شنبه 02 آذر 1389, 09:30 صبح
ممنون آقا مهدی
اما من نمیتوانم از کدهای XAML استفاده کنم چون باید DisplayMemberPath و SelectedValuePath را به صورت دینامیک در کد c# تعریف کنم.
farashah_jalal
سه شنبه 02 آذر 1389, 11:03 صبح
ممنون آقا مهدی
اما من نمیتوانم از کدهای XAML استفاده کنم چون باید DisplayMemberPath و SelectedValuePath را به صورت دینامیک در کد C# تعریف کنم.
خوب اگه در محیط xaml هم استفاده کنی می تونی این کار انجام بدی.
با این کار DisplayMemberPath وSelectedValuePath از binding که به combobox دادی ست خواهد شد.
مهدی فرزاد
سه شنبه 02 آذر 1389, 11:51 صبح
ممنون آقا مهدی
اما من نمیتوانم از کدهای XAML استفاده کنم چون باید DisplayMemberPath و SelectedValuePath را به صورت دینامیک در کد C# تعریف کنم.
متوجه منظورت نمیشم یعنی قرار هر دفعه فیلدی که قرار در کمبود نمایش داده بشه عوض بشه؟؟؟!!!!!!
مگه فیلد مورد نظر ثابت نیست؟؟؟ مثلا نمایش نام پرسنل در کمبو
غیر از اینه؟؟:متفکر:
smt1383
سه شنبه 02 آذر 1389, 13:04 عصر
متوجه منظورت نمیشم یعنی قرار هر دفعه فیلدی که قرار در کمبود نمایش داده بشه عوض بشه؟؟؟!!!!!!
مگه فیلد مورد نظر ثابت نیست؟؟؟ مثلا نمایش نام پرسنل در کمبو
غیر از اینه؟؟:متفکر:
نه منظورم اینه که در تابع Constructor این ComboBox دو متغیر string بهش پاس میدم که یکی مربوط به DisplayMember و دیگری مربوط به ValueMember است.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.