2017-05-19 84 views
1

我需要轉換一些數據窗口文本列(PB 11.5.1 - 的SQL Server 2008R2 - 數據類型文本)爲RTFPOWER BUILDER RTF欄不顯示簡單的文本

我有2個問題:

  • 新的數據顯示正常,但現有的數據並不在 顯示所有

  • 的RTF格式彈出具有非常有限的高度,這樣的圖標是一半
    顯示

對於第一個問題,我確實找到了解決辦法,但它很遠從優雅!文本之前

{\rtf1\ansi\ansicpg1253\uc1\deff0{\fonttbl {\f0\fswiss\fcharset161\fprq2 Arial;} {\f1\fswiss\fcharset0\fprq2 Tahoma;} {\f2\froman\fcharset2\fprq2 Symbol;}} {\colortbl;\red0\green0\blue0;\red255\green255\blue255;} {\stylesheet{\s0\itap0\nowidctlpar\f0\fs24 [Normal];}{\*\cs10\additive Default Paragraph Font;}} {\*\generator TX_RTF32 13.0.501.502;} \deftab1134\paperw3240\paperh16838\margl0\margt0\margr0\margb0\widowctrl {\*\background{\shp{\*\shpinst\shpleft0\shptop0\shpright0\shpbottom0\shpfhdr0\shpbxmargin\shpbxignore\shpbymargin\shpbyignore\shpwr0\shpwrk0\shpfblwtxt1\shplid1025{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fillColor}{\sv 12506623}}{\sp{\sn fFilled}{\sv 1}}{\sp{\sn lineWidth}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fBackground}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}}}\pard\itap0\nowidctlpar\plain\f1\fs20

,並在末尾加上}

我追加這一點。

我希望有另一種方式,不包括改變實際數據!

任何幫助表示讚賞

回答

2

這可能是有點清潔使用PasteRTF PowerBuilder的功能,對現有的數據。從技術上講,這不能解決您對數據更改的擔心,因爲該功能可能會像手動操作一樣添加RTF標籤。

因爲這可能工作的另一種方法是使用一個單獨的RichTextEdit控制和數據源功能嘗試。 DataSource函數允許RichTextEdit控件與DataWindow共享數據並在其輸入字段中顯示數據。如果RichTextEdit控件中有與DataWindow中的列名稱相匹配的輸入字段,則將DataWindow中的數據分配給這些輸入字段。我也會看InputFieldNamesVisible屬性,因爲它會影響顯示內容。

幫助文件中的這個示例將DataWindow控件dw_1建立爲RichTextEdit rte_1的數據源。使用模板文件可能是解決數據顯示挑戰的一種方法,但實際上並沒有改變它 - 不確定我自己沒有使用過這個。

rte_1.DataSource(dw_1) 

本示例插入一個稱爲LETTER.RTF到RichTextEdit rte_letter(文檔的輸入字段的名稱相匹配的數據窗口對象d_emp列),創建的數據存儲,其與d_emp相關聯,並檢索數據文件。然後,它把在rte_letter文件,並設置了數據存儲,作爲rte_1數據源:

DataStore ds_empinfo 
ds_empinfo = CREATE DataStore 
ds_empinfo.DataObject = "d_emp" 
ds_empinfo.SetTransObject(SQLCA) 
ds_empinfo.Retrieve() 

rte_letter.InsertDocument("LETTER.RTF", TRUE) 
rte_letter.DataSource(ds_empinfo) 

至於圖標的問題 - 我不知道應該是一個解決方案。

+0

謝謝!豐富!我會嘗試其中的一些。 – PanosPlat