Choose Case ii_style Case 1 li_rc = of_RowSelectSingle(al_row) Case 2 // No Action. Case 3 li_rc = of_KeyBRowSelectExt(al_row, KeyDown(keycontrol!), KeyDown(keyshift!)) End Choose
If ab_shift Then idw_edit.SelectRow(0, False) If il_anchorrow = 0 Then idw_edit.SelectRow (al_row, True) Else idw_edit.SetRedraw (False) If il_anchorrow > al_row Then For li_i = il_anchorrow To al_row Step -1 idw_edit.SelectRow(li_i, True) Next Else For li_i = il_anchorrow To al_row idw_edit.SelectRow(li_i, True) Next End If idw_edit.SetRedraw(True) End If ElseIf ab_cntrl Then //No Action Else of_RowSelectSingle(al_row) il_anchorrow = al_row End If
If idw_edit.GetRow() <> al_row Then idw_edit.SetRow(al_row) End If
Choose Case ii_style Case 1 li_rc = of_RowSelectSingle(al_row) Case 2 li_rc = of_RowSelectMulti(al_row) Case 3 li_rc = of_RowSelectExt(al_row, KeyDown(keycontrol!), KeyDown(keyshift!)) End Choose
Return li_rc
of_rowselecttext(long al_row) return integer //============================================================================== // 描述: 扩展方式选取行(Ctrl/Shift) //------------------------------------------------------------------------------ // 参数: // value long al_row (当前行) // value boolean ab_cntrl (Ctrl键按住) // value boolean ab_shift (Shift键按住) //------------------------------------------------------------------------------ // 返回值: integer //------------------------------------------------------------------------------ // 日期: 2007-07-11 //==============================================================================
Int li_i
If al_row <= 0 Then Return -1
If ab_cntrl And ab_shift = False Then idw_edit.SelectRow (al_row, Not (idw_edit.IsSelected(al_row))) // 起始行 il_anchorrow = al_row ElseIf ab_cntrl Or ab_shift Then If ab_cntrl = False Then idw_edit.SelectRow (0, False) End If
If il_anchorrow = 0 Then idw_edit.SelectRow (al_row, True) Else idw_edit.SetRedraw ( False ) If il_anchorrow > al_row Then For li_i = il_anchorrow To al_row Step -1 idw_edit.SelectRow(li_i, True) Next Else For li_i = il_anchorrow To al_row idw_edit.SelectRow(li_i, True) Next End If
idw_edit.SetRedraw ( True ) End If Else of_RowSelectSingle(al_row) il_anchorrow = al_row End If
If idw_edit.GetRow() <> al_row Then idw_edit.SetRow(al_row ) End If
If currentrow > 0 Then If IsValid(inv_linkage) Then inv_linkage.of_retrievedt(currentrow) End If If IsValid (inv_rowselect) Then inv_rowselect.Event ue_rowfocuschanged(currentrow) End If End If