2016-08-23 12 views
0

私は自分のプロジェクトにUltraGridを持っています。データは各セルに入力され、データベースに保存されます。私はProduct_Codeと呼ばれるものを除いて、現在の行のすべてのセルを無効にしたいと考えています。アクティブな列の列にデータが入力されると(これはValueListを介して入力されます)、私は他のすべてのセルがデータを入力できるようにします。UltraGridセルを無効にできません

は、これまでのところ私は

If Me.ugProducts.ActiveRow.Cells("Product_Code").Value.ToString = "" Then 
    Me.ugProducts.ActiveRow.Cells("Product_Volume").Activation = Activation.Disabled 
Else 
    Me.ugProducts.ActiveRow.Cells("Product_Volume").Activation = Activation.AllowEdit 
End If 

しかし、誰成功へ

を試してみました。プロジェクトが構築されると、値が入力されていないにもかかわらず、すべてのセルがすぐに入力できます。

なぜ機能しないのですか?これを行う最善の方法は何ですか?

+0

'DataSource'はグリッドにバインドされていますか?その場合、編集可能ではない可能性があります。また、特定のセルを実行する代わりに、ex: 'Me.ugProducts.DisplayLayout.Bands(0).Columns(0).CellActivation = Activation.Disabled 'の列を行うことができます。 ** **この作品は私のために** Me.ug.Rows(whatrow).Cells(whatcolumn).Activation = Activation.Disabled' – Codexer

+0

@Zagglerそうなら、私はそれらを無効にする方法はありませんか? –

+0

基礎となる表が編集できない場合はありません。グリッドにバインドされ、スキーマを継承するためです。唯一の方法は、 'DataTable'へのあなたの列が***読み込み専用でないことを確認することです*** ...別の注意では、デフォルトで***すべてのセルは変更されない限り実行時に編集可能です*** 。 – Codexer

答えて

0

私は以来、しかし、人はあなたが試すことができます解決...何らかの理由で、削除されたここに以前のコメントがありました:フォームのロードで

  • ugProducts.DisplayLayout.Override.CellClickAction = CellClickAction.CellSelectに追加 - これは、細胞のすべてが無効であることを意味しますが、あなたはまだ任意の妥当性チェックの後、次のコードugProducts.DisplayLayout.Override.CellClickAction = CellClickAction.Editを(使用、ugProductsCellListSelect場合には、今ValueListProduct_Code
  • のために選択することができるでしょうかあなたはすでに方法で持っているもの、それはあなたがどこあまりにもわからない場合はどこか、物事をしようとし続けるここに行きます)

とにかく、これは今、あなたが望むようにあなたがそれらを記入させてください。

+0

ありがとう、問題解決済み –

関連する問題