C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DataSourceバインドしたらSelectedItemが


(過去ログ 18 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■7048 / inTopicNo.1)  DataSourceバインドしたらSelectedItemが
  
□投稿者/ yagiey (22回)-(2007/08/29(Wed) 13:28:43)

分類:[.NET 全般] 

ComboBox.DataSourceにDataTalbeをつっ込んでる時のComboBox.SelectedItemに関してです。
Form1にコンボボックスcomboBox1とボタンbutton1を貼りつけ、コンストラクタで

 DataTable dayOfWeekTbl = new DataTable("DayOfWeek");
 dayOfWeekTbl.Columns.Add("Display", typeof(string));
 dayOfWeekTbl.Columns.Add("Value", typeof(DayOfWeek));
 dayOfWeekTbl.Rows.Add("日曜日", DayOfWeek.Sunday);
 dayOfWeekTbl.Rows.Add("月曜日", DayOfWeek.Monday);
 dayOfWeekTbl.Rows.Add("火曜日", DayOfWeek.Tuesday);
 dayOfWeekTbl.Rows.Add("水曜日", DayOfWeek.Wednesday);
 dayOfWeekTbl.Rows.Add("木曜日", DayOfWeek.Thursday);
 dayOfWeekTbl.Rows.Add("金曜日", DayOfWeek.Friday);
 dayOfWeekTbl.Rows.Add("土曜日", DayOfWeek.Saturday);
 comboBox1.DisplayMember = "Display";
 comboBox1.ValueMember = "Value";
 comboBox1.DataSource = dayOfWeekTbl;

ってやって、button1.Clickイベントで

 comboBox1.SelectedItem = DayOfWeek.Thursday;

ってしとるんですが、ボタンをクリックしてもコンボボックスは「木曜日」になってくれません。
# このときのSelectedItemはDataRowView型なので、当然かなぁ。
僕は「木曜日」になることを期待しているんですが、どうすれば達成できますか?

# そもそもDataTable使うのが間違いだったり?
引用返信 編集キー/
■7050 / inTopicNo.2)  Re[1]: DataSourceバインドしたらSelectedItemが
□投稿者/ yagiey (23回)-(2007/08/29(Wed) 13:39:07)
button1.Clickイベントハンドラを

for (int i=0;i<comboBox1.Items.Count;i++)
{
 DataRowView row = (DataRowView)comboBox1.Items[i];
 if ((DayOfWeek)row["Value"] == DayOfWeek.Thursday)
 {
  comboBox1.SelectedItem = comboBox1.Items[i];
  break;
 }
}

ってしたら期待通りになったけど...。
テーブルから探す部分は.Net Framework側で面倒見てくれたりしないものかしら、なんて。
引用返信 編集キー/
■7054 / inTopicNo.3)  Re[1]: DataSourceバインドしたらSelectedItemが
□投稿者/ シャノン (208回)-(2007/08/29(Wed) 14:17:13)
2007/08/29(Wed) 14:17:25 編集(投稿者)

No7048 (yagiey さん) に返信
> 僕は「木曜日」になることを期待しているんですが、どうすれば達成できますか?

comboBox.SelectedValue = DayOfWeek.Thursday;

でいいんじゃないですか?
引用返信 編集キー/
■7056 / inTopicNo.4)  Re[2]: DataSourceバインドしたらSelectedItemが
□投稿者/ yagiey (24回)-(2007/08/29(Wed) 14:56:09)
> comboBox.SelectedValue = DayOfWeek.Thursday;
> でいいんじゃないですか?

ぬぁーにー!!
今までDataSource使ったことなかったんで、ComboBox.SelectedValueなるプロパティの存在を知りませんでした。
一回のレスポンスで終了するような、しょーもないトピック作ってすみませんでした。
ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -