うちのカレーにはこれが入ってる!って食材ありますか?

VisualBasic2005です。
例えばDataGridViewの3列目にコードが入力されるとします。
その列のコードには重複入力をさせたくないのです。

重複チェックをするのは、そのセルの入力が確定したときでも、
特定のボタンが押されたときでもかまわないので、
チェックする方法はないでしょうか?

よろしくお願いいたします。

A 回答 (2件)

そのDataGridViewはDataTableをバインドしてますか?


もしそうなら、DataTableの方で重複をさせたくない列を主キーに設定すれば、重複値を入力したときエラーがでるようになります。
主キーの設定の仕方は例えば
'dtはDataTable
dt.PrimaryKey = New DataColumn() {dt.Columns(2)}
    • good
    • 1
この回答へのお礼

さっそくの回答ありがとうございます。
今回のDataGridViewにはDataTableをバインドしておりません。

ですので、DataGridViewのCellValidatingで
入力された値と、既に入力されている値を
For文を使って比べました。

効率的には良くないと思いますが、
一応出来ました。

もしDataTableをバインドしたときには、上記方法を利用させていただきます。

お礼日時:2007/07/26 12:37

ArrayListクラスなどの配列を扱うクラスに Containsメソッドがあります


これでチェックしてみてはいかがでしょう

フォームクラスの変数などで
  Dim arCheck as New ArrayList
と初期化しておき

データの読み込み時点で
  arCheck.Add( DatatItem )
として既存のデータを配列に保存します

Validatingイベントで
  if arCheck.Contains( 検査対象データ ) = True then
    e.Cancel = True
  else
    arCheck.Add( 検査対象データ )
  emnd if

といった具合でしょう
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A