У меня проблема с ручной установкой для этих макетов флажка в первых столбцах сетки, где все создано в объекте класса.Невозможно правильно установить флажок в сетке
Я могу выбрать успех в первом ряду, но он не будет отображаться при нажатии второй строки.
Флажок во всей колонке кажется неудачным в случайном порядке и не может выбрать одинаковое для каждой строки.
Кодирование:
define class chk_sel as checkbox
name = "chk_sel"
procedure init
this.value = 0
this.caption = ""
this.readonly = .f.
this.tabstop = .f.
endproc
enddefine
Define class frmpurc As Form
procedure init
For frm in _screen.Forms
if frm.name == "MyForm"
select "" as pick,supcode,item_desc,inv_no,po_no,line,acc_qty, ;
taxcode,acc_amt,net_tax,gros_amt from purc ;
into cursor tmpcur ;
where alltrim(inv_no) = alltrim(this.txt_search.value)
If NOT USED('tmpcur_')
USE DBF("tmpcur") in 0 AGAIN alias tmpcur_
else
USE IN 'tmpcur_'
USE DBF("tmpcur") in 0 AGAIN alias tmpcur_
endif
sele tmpcur_
frm.grid_list.recordsource = SPACE(0)
frm.grid_list.recordsource = "tmpcur_"
frm.grid_list.deletemark = .f.
frm.grid_list.readonly = .f.
frm.grid_list.column1.width = 25
frm.grid_list.column1.bound = .f.
frm.grid_list.column1.controlsource = "tmpcur_.pick"
frm.grid_list.column1.readonly = .f.
frm.grid_list.column1.text1.visible = .t.
frm.grid_list.column1.removeobject("text1")
frm.grid_list.column1.addobject("pick","chk_sel")
frm.grid_list.column1.currentcontrol = "pick"
frm.grid_list.column1.pick.visible = .t.
frm.grid_list.column1.pick.readonly = .f.
frm.grid_list.column1.pick.tabstop = .t.
frm.grid_list.column1.sparse = .f.
endif
endfor
endpro
enddefine
Спасибо кто-то может помочь мне решить эту проблему.
Большое спасибо за помощь, и я могу это исправить. – koklimabc
Для последних упомянутых вещей я не могу поставить предложение readwrite за моим курсором, так как я использую Visual foxpro 6.0, который до сих пор его не поддерживает. – koklimabc
@koklimabc, исправленный код для реализации VFP 6 ... все еще упрощает код для вас. Также нажмите ссылку вверху для справки -> Тур для этикета сайта. Не ставьте ответ на основании предоставленного ответа, но отметьте ответ, который помог вам решить ваш вопрос ... Комментарий к ответу, такой как ... Bound = .T. исправил его ... спасибо. против совершенно нового ответа, отправленного назад. – DRapp