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

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

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

編集可能なDataGridViewComboBoxColumn


(過去ログ 8 を表示中)

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

■8195 / inTopicNo.1)  編集可能なDataGridViewComboBoxColumn
  
□投稿者/ NZ-000 一等兵(20回)-(2006/11/10(Fri) 10:32:59)

分類:[C#] 


分類:[C#] 

DataGridViewComboBoxColumnオブジェクトにデータソースをバインドすると楽チンですが、アイテムから選ぶことはできても入力ができなくなります。
通常のComboBoxに例えるとDropDownStyleをDropDownListに設定した感じです。

それらしいプロパティもありません、これはどうしようもないことなのでしょうか。

0
引用返信 編集キー/
■8196 / inTopicNo.2)  Re[1]: 編集可能なDataGridViewComboBoxColumn
□投稿者/ NZ-000 一等兵(21回)-(2006/11/10(Fri) 10:53:19)

分類:[C#] 

No8195に返信(NZ-000さんの記事)
> DataGridViewComboBoxColumnオブジェクトにデータソースをバインドすると楽チンですが、アイテムから選ぶことはできても入力ができなくなります。
> 通常のComboBoxに例えるとDropDownStyleをDropDownListに設定した感じです。
>
> それらしいプロパティもありません、これはどうしようもないことなのでしょうか。

DataGridViewComboBoxEditingControlを取得してDropDownStyleを変更することで対処しました。
う〜ん、めんどくさ・・・。

解決済み
引用返信 編集キー/
■8197 / inTopicNo.3)  Re[2]: 編集可能なDataGridViewComboBoxColumn
□投稿者/ NZ-000 一等兵(22回)-(2006/11/10(Fri) 11:38:04)

分類:[C#] 

と思ったら、編集はできても、編集内容がコミットされないみたいです。
どこで弾かれてるんでしょうかね。

0
引用返信 編集キー/
■8200 / inTopicNo.4)  Re[3]: 編集可能なDataGridViewComboBoxColumn
□投稿者/ まじん 一等兵(25回)-(2006/11/10(Fri) 12:43:10)

分類:[C#] 

2006/11/10(Fri) 12:44:11 編集(投稿者)

No8197に返信(NZ-000さんの記事)
> と思ったら、編集はできても、編集内容がコミットされないみたいです。
> どこで弾かれてるんでしょうかね。
アイテムに既に入っていない値を入力すると弾かれるので

私はCellValidatingのところに

下記のようなコードを入れ アイテムに無い値の場合は アイテムに追加してから入力させる方法をとってます

ごめんなさい VBですが

    Dim ind As Integer = Me.CurrentCell.ColumnIndex
If TypeName(Me.Columns(ind)) = "DataGridViewComboBoxColumn" Then
Dim myCol As DataGridViewComboBoxColumn = Me.Columns(ind)
Dim tx As String = e.FormattedValue.ToString()
If Not tx Is Nothing AndAlso tx <> "" Then
Dim o As Object
Dim ari As Boolean = False
Dim ari2 As Integer = 0
For Each c As Object In myCol.Items
If c = "" Then
ari2 = 1
Exit For
End If
Next
If ari2 = 0 Then
myCol.Items.Insert(0, "")
End If

For Each o In myCol.Items
If o = tx Then
ari = True
Exit For
End If
Next

If ari = False Then
myCol.Items.Add(tx)
End If
Me.CurrentCell.Value = tx
End If
End If






0
引用返信 編集キー/
■8202 / inTopicNo.5)  Re[4]: 編集可能なDataGridViewComboBoxColumn
□投稿者/ NZ-000 一等兵(23回)-(2006/11/10(Fri) 13:34:24)

分類:[C#] 

まじんさん、ありがとうございます。
それでもできんことはないと思うのですが、入力するたびにアイテムに追加されちゃいますよね?



0
引用返信 編集キー/
■8215 / inTopicNo.6)  Re[5]: 編集可能なDataGridViewComboBoxColumn
□投稿者/ まじん 一等兵(26回)-(2006/11/10(Fri) 19:55:57)

分類:[C#] 

No8202に返信(NZ-000さんの記事)
> まじんさん、ありがとうございます。
> それでもできんことはないと思うのですが、入力するたびにアイテムに追加されちゃいますよね?

その通りです でも私の場合 基本的にはcomboboxの場合リストの中から選び あいにくリストに候補が無かった場合だけですし 既にリストにあるデータの場合は追加されませんので特に問題なく使えてます。他の方法が難しかったのが大きな理由ですが 

0
引用返信 編集キー/
■8222 / inTopicNo.7)  Re[6]: 編集可能なDataGridViewComboBoxColumn
□投稿者/ NZ-000 一等兵(24回)-(2006/11/11(Sat) 01:59:37)

分類:[C#] 

No8215に返信(まじんさんの記事)
> ■No8202に返信(NZ-000さんの記事)
>>まじんさん、ありがとうございます。
>>それでもできんことはないと思うのですが、入力するたびにアイテムに追加されちゃいますよね?
>
> その通りです でも私の場合 基本的にはcomboboxの場合リストの中から選び あいにくリストに候補が無かった場合だけですし 既にリストにあるデータの場合は追加されませんので特に問題なく使えてます。他の方法が難しかったのが大きな理由ですが 

私の場合、ある条件に合致したもののみをリストに表示したく、
追加されるとそれも条件に合致しているものと誤解しかねないので困りますね。
アイテムをクリアしたら見事に今まで編集したComboBoxセルの値が消えてしまいますしねぇ。
DataGridViewComboBoxColumnは列だから仕方ないということで、
DataGridViewComboBoxCellにアイテムを設定しようかと思ったら、
今度は初期状態でアイテムがないのでDataGridViewにバインドしたデータが表示されない始末。

通常のComboBoxのつまりで使ったらドツボにはまるとどっかのサイトに書いてあったような気がしますが
まったくそのとおりで、扱いづらいComboBoxです。
どうしようかな・・・。

0
引用返信 編集キー/
■8223 / inTopicNo.8)  Re[7]: 編集可能なDataGridViewComboBoxColumn
□投稿者/ まじん 一等兵(30回)-(2006/11/11(Sat) 07:57:30)

分類:[C#] 

No8222に返信(NZ-000さんの記事)
> ■No8215に返信(まじんさんの記事)
>>■No8202に返信(NZ-000さんの記事)
> >>まじんさん、ありがとうございます。
> >>それでもできんことはないと思うのですが、入力するたびにアイテムに追加されちゃいますよね?
>>
>>その通りです でも私の場合 基本的にはcomboboxの場合リストの中から選び あいにくリストに候補が無かった場合だけですし 既にリストにあるデータの場合は追加されませんので特に問題なく使えてます。他の方法が難しかったのが大きな理由ですが 
>
> 私の場合、ある条件に合致したもののみをリストに表示したく、
> 追加されるとそれも条件に合致しているものと誤解しかねないので困りますね。
> アイテムをクリアしたら見事に今まで編集したComboBoxセルの値が消えてしまいますしねぇ。
> DataGridViewComboBoxColumnは列だから仕方ないということで、
> DataGridViewComboBoxCellにアイテムを設定しようかと思ったら、
> 今度は初期状態でアイテムがないのでDataGridViewにバインドしたデータが表示されない始末。
>
> 通常のComboBoxのつまりで使ったらドツボにはまるとどっかのサイトに書いてあったような気がしますが
> まったくそのとおりで、扱いづらいComboBoxです。
> どうしようかな・・・。

本当にノーマルでは使いづらいですよね このコンボボックス

私の場合 もうひとつの方法としてコンボボックスを使わずテキストボックスにしておき セルをダブルクリックまたはコントロールキーを押したときに別途 リストボックス代わりの小さく作ったデータグリッドビューを表示するというのも使ってます
ボタンカラムを隣接させて コンボボックスに見せるというのも考えてるんですがまだ作ってません

0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -