Zugriff auf Checkboxen in einer Matrix
Sebastian Dunkel
Hallo,ich suche eine Möglichkeit, wie ich in customize auf checkboxen einer Matrix zugreifen kann. Ziel ist es zum Beispiel im Artikelstamm nur eine der Eigenschaften zu erlauben.
Die bisherige idee ist zu prüfen, wo das ursprüngliche häkchen gesetzt ist, dieses zu löschen und in der zeile wo der user geklickt hat zu setzen bzw. einfach alle häkchen zu löschen und dann das gewünschte häkchen zu setzen.
Dim matrix As Matrix = Matrix.GetFromUID(pVal.Form, "129")
Dim actPos As Integer = pVal.Row
Dim i As Integer = 0
Try
'Alle Checkboxen auf 'false' setzen
For i=0 To 63
matrix.SetDisplayValue(2,i,"N")
Next
'Die gewählte Checkbox einschalten
matrix.SetDisplayValue(2,actPos,"Y")
Catch ex As System.Exception
StatusBar.WriteError(ex.Message)
End Try
Return True
Ich bedanke mich für Ihre Hilfe.
Michael Egloff
Hallo Sebastian,sieht ja mal nicht so schlecht aus.
Was funktioniert denn nicht?
Der Event, den du suchst, ist der ClickEvent. Der FormTyp 150, die ItemUID 129 und die Spalte 2.
Reicht dir das?
Gruss Michael
Michael Wanner
Hallo MichaelDie gleiche Funktion bräuchte ich auch, jedoch bei eigenem Modul mit dem swissAddOnFramework. Wenn ich dies jedoch aufrufe erscheint bei mir folgende Meldung:
- GetValue does not support this column type
Folgende Verisonen setzten wir ein:
- SAP Business One V2005 SP01 PL44
- swissAddOnFramework V2.33.0.0
Besten Dank für die rasche Antwort
Gruss Michi
Michael Wanner
HalloKann mir hier jemand weiter helfen?
Ist dies in einer neueren Version des swissAddOnFramework möglich?
Besten Dank für die Antwort
Gruss Michi
Marco Schweighauser
Hallo Michi,mit folgendem Code kann die Checkbox ausgelesen und gecheckt werden:
((SAPbouiCOM.CheckBox)matrix.Columns["spalte"].Cells["zeile"].Specific).Checked = true;
Michael Wanner
Hallo MarcoBesten dank für die Antwort.
Bei mir scheint dies irgendwie nicht ganz zu funktionieren.
Ich erhalte nun eine Meldung, dass SwissAddonFramework.UI.Components.Matrix.Columns eine Eigenschaft ist und nun als Methode verwendet wird.
Hast du eine Ahnung wo das Problem liegen könnte?
Besten Dank
Gruss Michi
Michael Egloff
kleine Korrektur:
((SAPbouiCOM.CheckBox)matrix.Columns["spalte"].Cells[zeile].Specific).Checked = true;
Wichtig sind die Klammer, zweimal eckig [] und zweimal runde Klammer ()
Bei "spalte" den Namen der Spalte als string übergeben, bei zeile die Zeilennummer als int (also Zahl) übergeben
Beispiel:
((SAPbouiCOM.CheckBox)matrix.Columns["Active"].Cells[0].Specific).Checked = true;
0
Please sign in to leave a comment.
Comments
0 comments