2016-02-19 84 views
1

我目前在一個Windows窗體應用程序中使用GeneXus X Evolution 1。將記錄從一個網格移動到另一個網格(Genexus x evo 1)

我似乎無法找到將選定的記錄從一個網格移動到另一個網格的正確方法。

我只能將第一個網格中的選定記錄移動到第二個網格的第一行。

這是我看到的時候我選擇的第一個記錄:

Select first record

而這個時候第二個選擇:

When i select the second record or any other

我的代碼如下所示:

Event &LineaSeleccionadaGrilla.Click 
    if &LineaSeleccionadaGrilla = true 
     &ProdSelGrilla = '' 
     &ProdSelGrilla = ProdId 
     &i = &i + 1 
     if &i <= rows(&ArregloProdSel()) 
      &ArregloProdSel(&i,1) = &ProdSelGrilla 
      &ProdidSeleccion.AddItem(str(&i),&ArregloProdSel(&i,1)) 
     endif 
     grillafinal.Refresh() 
    endif  
EndEvent 

Event grillafinal.Load // esto carga la grilla 
    &ProdIdFinal = &ProdSelGrilla 
EndEvent 

回答

0

該pr會徽似乎是在grillafinal.Load事件中,您只加載最後選定的記錄。

假設&ArregloProdSelProdId集合(不知道爲什麼它是一個矩陣,而不僅僅是一個數組,雖然),您grillafinal.Load事件應該是這個樣子:

Event grillafinal.Load 
    for &j = 1 to rows(&ArregloProdSel()) 
     &ProdIdFinal = &ArregloProdSel(&j,1) 
     Load 
    endfor 
EndEvent 
+0

謝謝您的回答馬科斯,我向代碼添加了您的建議,編譯器顯示沒有錯誤,但程序在加載時崩潰。我得到以下錯誤; 「System.IndexOutOfRangeException」。 – DayaWulf

+0

我發現了這個問題。 &ProdIdFinal =&ArregloProdSel(&i,1)。 &我必須替換爲&j。謝謝馬科斯! – DayaWulf

+0

@DayaWulf你是對的!修正了,謝謝。 –

相關問題