µ±Ç°Î»ÖãºÊ×Ò³ > PB Datawindowº¯Êý´óÈ«
dwchildvariable )
Àý×Ó1 Õâ¶Î³ÌÐòÈ¡³öÒ»¸öcompositeÊý¾Ý´°¿Ú¶ÔÏóµÄÁ½¸ö×ÓÊý¾Ý´°¿Ú£¬²¢¶ÔËûÃǽøÐйýÂË£¬ºÍÅÅÐòµÄ²Ù×÷¡£ /*dw_dyÊÇÁ¬½ÓÒ»¸öcompositeÊý¾Ý´°¿Ú¶ÔÏóµÄÒ»¸öÊý¾Ý´°¿Ú¿Ø¼þ¡£dw_1¡¢dw_2·Ö±ðÊÇǶÌ×µÄÊý¾Ý´°¿ÚµÄNAME*/
String ls_filter
DataWindowChild dwc_czrw,dwc_czx//¶¨Òå×ÓÊý¾Ý´°¿Ú±äÁ¿ dw_dy.Settranso b j e c t(sqlca) dw_dy.Retrieve()
dw_dy.GetChild(\dw_dy.Getchild(\
ls_filter = \¹ýÂËÌõ¼þ dwc_czrw.SetFilter(ls_filter) dwc_czrw.Filter()
ls_filter = \dwc_czx.SetSort(\dwc_czx.Sort()
dwc_czx.SetFilter(ls_filter) dwc_czx.filter()
µ±È»Ò²¿ÉÒÔͨ¹ýÊý¾Ý¹²Ïí(ShareData)µÈ·½Ê½²Ù×÷×ÓÊý¾Ý´°¿ÚÖеÄÊý¾Ý¡£ ·ÃÎʸ´ºÏÊý¾Ý´°¿Ú¶ÔÏó.·½·¨ £ºdw_dy.o b j e c t.dw_1.o b j e c t.¶ÔÏó Àý×Ó2 ÏÂÀÊý¾Ý´°¿Ú¶¯Ì¬¹ýÂË
ÔÚÊý¾Ý´°¿Údw_1µÄItemFocusChangedʼþÖÐдÈëÈçϽű¾£º Integer rtncode
String ls_nowFld,ls_deptid,ls_sql DataWindowChild fld_child
rtncode = dw_1.GetChild(\»ñµÃUnit_id×Ö¶ÎÃûÏÂÀÊý¾Ý´°¿ÚµÄ¾ä±ú If rtncode = -1 Then MessageBox(\´íÎó!\²»ÊÇÏÂÀÊý¾Ý´°¿Ú!\fld_child.SetTransObject(SQLCA) //ÉèÖÃÊÂÎñ¶ÔÏó
ls_sql = Lower(fld_child.GetSQLSelect())// »ñµÃDDDWµÄSQLÓï¾ä
// È¥³ýSql Óï¾äÖеÄWhereÌõ¼þ×Ӿ䣬 ÈçÔSql Óï¾äÖÐÐëÓÐWhereÌõ¼þ×Ӿ䣬´Ë´¦ÔòÐè½øÐнÏ
//¸´ÔӵĴ¦Àí£¬Ó¦ÊÓ¾ßÌåÇé¿ö¶ø¶¨¡£
if Pos(ls_sql, \//ÖØÐÂÉèÖÃSql Óï¾äÖеÄWhereÌõ¼þ×Ó¾ä
ls_deptid=dw_1.Object.dept_id[GetRow()] //È¡µÃµ±Ç°dept_idÑ¡¶¨Öµ ls_sql = ls_sql + \//ÖØÐÂÉèÖÃSql Óï¾ä
fld_child.SetSQLSelect(ls_sql)
fld_child.Retrieve()//È¡µÃÂú×ãÌõ¼þµÄÊý¾Ý
28 ´ÓÊý¾Ý´°¿ÚÖлñÈ¡Êý¾Ý
µ¥Ìõ£º¼ÙÉèÎÒÃÇÒª¶ÁÈ¡dept_id×ֶεĵÚÒ»±ÊÊý¾Ý£¬¿ÉÒÔÓÃÏÂÁз½Ê½±íʾ¡Ãli_id = dw_1.o b j e c t.dept_id[1]
¼ÙÉèÎÒÃÇÒª¶ÁÈ¡µÚÒ»ÐÐÖеڶþ¸ö×ֶεÄÊý¾Ý£¬¿ÉÒÔÓÃÏÂÁз½Ê½±íʾ¡Ãls_name = dw_1.o b j e c t.DATA[1,2] ¼ÙÉèÎÒÃÇÒª¶ÁÈ¡dept_id×ֶεÄËùÓÐÊý¾Ý£¬¿ÉÒÔÓÃÏÂÁз½Ê½±íʾ¡Ãli_array = dw_1.o b j e c t.dept_id.CURRENT
¼ÙÉèÎÒÃÇÒª¶ÁÈ¡¹ýÂË»º³åÇø (filter buffer) ÄÚdept_id×ֶεĵÚÒ»±ÊÊý¾Ý£¬¿ÉÒÔÓÃÏÂÁз½Ê½±íʾ¡Ãli_id = dw_1.o b j e c t.dept_id.Filter [1]
¼ÙÉèÎÒÃÇÒª¶ÁÈ¡´ÓµÚ¶þ±ÊÊý¾ÝµÄµÚÒ»¸ö×ֶε½µÚÈý±ÊÊý¾ÝµÄ¶þ¸ö×Ö¶ÎÖ®¼äµÄÊý¾Ý£¬±íʾ¡Ãlstr_array = dw_1.o b j e c t.DATA[2,1,3,2]
¼ÙÉèÎÒÃÇÒª¶ÁÈ¡Õû¸öµÚ¶þ±ÊµÄÊý¾Ý£¬¿ÉÒÔÓÃÏÂÁз½Ê½±íʾ¡Ãlstr_dept = dw_1.o b j e c t.DATA[2] ʹÓÃGetItemX ( )º¯Êý xΪstring numberµÈ
lstr_name = dw_1.getitemstring (li_count , \ΪÄÄÒ»Ìõ ¶àÌõ£ºstring ls_name[ ]
ls_name = dw_ 1.o b j e c t.emp_name.current
Êý¾ÝµÄ¶ÁÈ¡ Ò»°ã¸ñʽ¡ÃÊý¾Ý´°¿Ú¿Ø¼þ.Retrieve ( ) ·µ»Ø¸öÊý £¬-1Ϊ´íÎó Ôö¼ÓÊý¾Ý Êý¾Ý´°¿Ú¿Ø¼þ.InsertRow (ÐÐÊý) ²ÎÊýΪ0¼Óµ½×îºó Êý¾ÝµÄɾ³ý Êý¾Ý´°¿Ú¿Ø¼þ.Deleterow (ÐÐÊý) Êý¾ÝµÄ¹ýÂËl Êý¾Ý´°¿Ú¿Ø¼þ.SetFilter (Ìõ¼þ×Ö·û´®).
Êý¾Ý´°¿Ú¿Ø¼þ.Filter ( ) Ó÷¨¡Ã½«Ö÷Òª»º³åÇø (Primary Buffer) ÄÚ²»·ûºÏ¹ýÂËÌõ¼þµÄÊý¾ÝÒÆµ½¹ýÂË»º³å
Çø (Filter Buffer) ÄÚ¡£
Àý×Ó£ºstring ls_exp ls_exp = \= 100\ dw_1.SetFilter (ls_exp) dw_1.Filter ( ) ÅÅÐò dw_1.SetSort (\ dw_1.Sort ( ) ½«Êý¾Ý´ÓËùÓеĻº³åÇø (Buffer) ÖÐÇå³ý dw_1.ReSet ( )
¼ÆËãÊý¾ÝÊýÄ¿¡£ÀýÈç¡Ãdw_1.Rowcount ( ) ÀàËÆ£º .DeletedCount ( ) .ModifiedCount ( ) .FilteredCount ( )
Êý¾Ý´°¿ÚµÄ¹ö¶¯ Êý¾Ý´°¿Ú¿Ø¼þ.ScrollToRow (ÐÐÊý)
29 Êý¾Ý´°¿ÚÊôÐԸı䣺
ÃèÊöÊý¾Ý´°¿Ú¶ÔÏó±¾ÉíÑÕÉ«£¬¿ÉÒÔ±íʾÈçÏ¡Ãlong ll_color ll_color = dw_emplist.Describe (\
ÃèÊöÊý¾Ý´°¿Ú¶ÔÏóÄÚ±êÌâ dept_id_t µÄÑÕÉ«£¬¿ÉÒÔ±íʾÈçÏ¡Ãlong ll_color ll_color = dw_emplist.Describe (\
ÐÞ¸ÄÊý¾Ý´°¿Ú¶ÔÏó±¾ÉíÑÕÉ«£¬¿ÉÒÔ±íʾÈçÏÂ:dw_emplist.Modify (\ ÐÞ¸ÄÊý¾Ý´°¿Ú¶ÔÏóÄÚ±êÌâ dept_id µÄÑÕÉ«£¬¿ÉÒÔ±íʾÈçÏ¡Ãdw_emplist.Modify (\255\
¼ÙÉèµ±ÎÒÃÇÏ£ÍûÔÚ³ÌÐòÔËÐн׶βŸøÓèÏÂÐÐÌõ¼þ¡Ãнˮ³¬¹ý 50000 ʱÏÔʾºìÉ«£¬µÍÓÚ 50000 ʱÏÔʾºÚÉ«¡£³ÌÐòµÄд·¨ÈçÏ¡Ã
ls_modstring = \£¬255£¬0) '\ dw_1.modify (ls_modstring)
30 µÃµ½µ±Ç°Êó±êËùÖ¸¶ÔÏóËùÔڵĴøÇø string str_band
str_band=GetBandAtPointer() //µÃµ½µ±Ç°Êó±êËùÖ¸¶ÔÏóËùÔڵĴøÇø
str_band=left(str_band,(pos(str_band,'~t') - 1))//µÃµ½\¡¢\µÈ if str_band<>'header' then return //µ¥»÷·ÇÍ·Çø£¬Í˳ö 31 µÃµ½Êó±êÖ¸ÏòµÄÁжÔÏóÃû
str_o b j e c t=GetObjectAtPointer() //µÃµ½µ±Ç°Êó±êËùÖ¸¶ÔÏóÃû
str_o b j e c t=left(str_o b j e c t,(pos(str_o b j e c t,'~t') - 1))
//µÃµ½ÁжÔÏóÃû(ĬÈÏΪÁÐÃû_tΪÁбêÌâ)
str_column=left(str_o b j e c t,(len(str_title) - 2)) //ÅжϸÃÃû³ÆÊÇ·ñΪÁÐÃû×Ö
if this.describe(str_column+\·ÇÊÇÁÐÃû£¬¼´ÁбêÌâ²»Êǰ´Õý³£¹æÂÉÆðÃûµÄ¡£
32 µÃµ½µ±Ç°ÐС¢ÁУ¬×ÜÐС¢ÁÐ //this Õë¶ÔÊý¾Ý´°¿Ú¶øÑÔ li_col = this.GetColumn()
li_ColCount = long(describe(this,\ ll_row = this.GetRow() ll_RowCount = this.RowCount() //ÉèÖõ±Ç°ÐС¢ÁÐ
scrolltorow(this,ll_Row) setrow(this,ll_Row) setcolumn(this,li_col) this.SetFocus() 33 µÃµ½ËùÓÐÁбêÌâ
ll_colnum = Long(dw_1.o b j e c t.datawindow.column.count) for i = 1 to ll_colnum //µÃµ½±êÌâÍ·µÄÃû×Ö
ls_colname = dw_1.describe('#' + string(i) + \ ls_value = dw_1.describe(ls_colname + \next
34 ÈçºÎÓôúÂëÈ¡µÃÊý¾Ý´°¿Ú»ã×Ü´ø¼ÆËãÁеÄÖµ? String ls_value
ls_value = dw_1.Describe(\Èç¹ûÊÇÊýÖµÐÍ£¬Òª×ª»»¡£
35 È¡µÃµ¥»÷µÄÁбêÌâ¡¢ÁÐÃû¡¢Êý¾Ý¿â×Ö¶ÎÃû string ls_dwo long ll_pos
¹²·ÖÏí92ƪÏà¹ØÎĵµ