Ich habe ein Bestellsystem, wo auf dem Bestellbildschirm eine Bestellung eingegeben werden kann. Um dies zu tun, verwendet es eine UltraGrid
, wobei jede Zeile eine Bestellung ist. Siehe das Bild unten.Infragistics UltraGrid - Machen Sie einzelne Zellen deaktiviert
Ich weiß, dass, irgendwie ist es möglich, eine ganze Reihe nicht-überschreibbar zu machen, so dass die Daten in Zellen können nicht bearbeitet werden, und die Daten können nicht in leere Zellen eingegeben werden.
Allerdings muss ich alle Zellen so verhalten, bis auf eine, bis diese Zelle Daten enthält. (ZB; alle Zellen mit Ausnahme von "Produktcode" sollten deaktiviert werden und dann zur Bearbeitung zur Verfügung gestellt werden, sobald der Produktcode ausgefüllt wurde). Was ist der Code, den ich dafür brauche?
Ich habe versucht, eine With
Anweisung zu verwenden, um die Zellen einzeln auf ReadOnly
festzulegen, aber das schien nicht zu funktionieren.
EDIT
ich den Code unten verwendet haben, um einzelne Spalten deaktiviert-Auslösung, aber ich erhalte die Fehlermeldung
Objektverweis gesetzt nicht auf eine Instanz eines Objekts
Kann mir jemand sagen warum?
If ugProducts.ActiveRow.Cells("Product_Code").Value <> "" Then
ugProducts.DisplayLayout.Bands(0).Columns(1).CellActivation = Activation.Disabled
ugProducts.DisplayLayout.Bands(0).Columns(2).CellActivation = Activation.Disabled
ugProducts.DisplayLayout.Bands(0).Columns(3).CellActivation = Activation.Disabled
Else
End If
Danke.
Das erste, was Sie tun sollten, ist die Veränderung '<>' auf '=', wie dies derzeit sie deaktiviert Einstellung, wenn der Wert in 'Product_Code' nicht leer ist. Was passiert, wenn Sie '.ToString' am Ende von' .Value' hinzufügen? – David
@David Danke, das gibt immer noch den gleichen Fehler aber zumindest ist die Zuordnung jetzt korrekt –