将记录从一个网格移动到另一个网格 (Genexus x evo 1)
Move record from one grid to another (Genexus x evo 1 )
我目前正在 windows 表单应用程序中使用 GeneXus X Evolution 1。
我似乎找不到将 selected 记录从一个网格移动到另一个网格的正确方法。
我能做的就是将第一个网格中的 selected 记录移动到第二个网格的第一行。
这是我在select第一条记录时看到的:
当第二个 selected:
我的代码如下:
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
问题似乎是在 grillafinal.Load
事件中,您只加载了最后选择的记录。
假设 &ArregloProdSel
是 ProdId
的集合(尽管不知道为什么它是矩阵而不只是数组),您的 grillafinal.Load
事件应该类似于这个:
Event grillafinal.Load
for &j = 1 to rows(&ArregloProdSel())
&ProdIdFinal = &ArregloProdSel(&j,1)
Load
endfor
EndEvent
我目前正在 windows 表单应用程序中使用 GeneXus X Evolution 1。
我似乎找不到将 selected 记录从一个网格移动到另一个网格的正确方法。
我能做的就是将第一个网格中的 selected 记录移动到第二个网格的第一行。
这是我在select第一条记录时看到的:
当第二个 selected:
我的代码如下:
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
问题似乎是在 grillafinal.Load
事件中,您只加载了最后选择的记录。
假设 &ArregloProdSel
是 ProdId
的集合(尽管不知道为什么它是矩阵而不只是数组),您的 grillafinal.Load
事件应该类似于这个:
Event grillafinal.Load
for &j = 1 to rows(&ArregloProdSel())
&ProdIdFinal = &ArregloProdSel(&j,1)
Load
endfor
EndEvent