2009-06-12 10 views
6

Sto provando a formattare (grassetto o corsivo) solo una parte di una casella di testo o oggetto Formula (IFieldObject) in Crystal Reports per Visual Studio 2008Formato (rendere in grassetto o in corsivo) una porzione di un oggetto Textbox o Formula in Crystal Reports

So come rendere l'intero campo in grassetto, ma voglio solo una parte.

Ad esempio:

... bla bla bla 12 maggio 2009 bla bla bla ...

è possibile? Sto pensando che ci debba essere una sorta di markup, ma non riesco a trovare alcun riferimento allo .

risposta

14

È possibile eseguire questa operazione inserendo markup HTML nel campo (utilizzando una formula) e quindi visualizzando la nuova formula come campo HTML.

ad es. Ecco una formula sintassi di base che prende un campo e aggiunge il tag grassetto attorno al testo prima dei due punti.

dim sTmp as string 
dim sLeft as string 
dim sRight as string 
dim sAll as string 

sTmp = {yourtable.yourfield} 

sLeft = (split(sTmp,":"))(1) 
sRight = (split(sTmp,":"))(2) 

sAll = "<b>"+sLeft+":</b>"+sRight 
formula = sAll 

Se si inserisce questa nuova formula nel report e poi ...

  • destro Fare clic sul campo e scegliere "formato del campo"
  • Modifica testo Interpretazione in HTML Testo
  • Click 'OK'

Ci sono dei trucchi qui. Il testo originale non è codificato in HTML, e sono sicuro che il mio codice di esempio fa una semplice cosa a linea singola su una decina di righe. Inoltre, se il tuo campo non contiene due punti, imporrà un errore. Tuttavia, dovrebbe darti l'idea giusta.

+1

Questo ha funzionato grande, ho aggiunto il alla formula e poi ho cambiato il display (Formato oggetto -> Paragrafo -> Interpretazione del testo) in testo HTML. Grazie non ero a conoscenza di questa opzione. –

+0

Ha funzionato. Grazie. –

0

Non so, se è fattibile.

È possibile creare un campo formula separato per il valore che si desidera rendere in grassetto & inserire il campo formula tra l'altro campo formula, che lo renderà simile a una singola frase.

+0

Penso che il problema con questa risposta sia il dimensionamento dinamico del campo in grassetto. C'è un modo per farlo dimensionare dinamicamente e avere il campo dietro di esso stretto? (e forse si estende su più righe) –

1

Creare una formula per la parte data, quindi incorporare in una casella di testo, quindi è possibile formattare qualsiasi modo tu voglia

+0

Questo, sfortunatamente, non era possibile poiché volevo che la data fosse in grassetto non sull'intera casella di testo. La risposta di seanyboy ha funzionato esattamente come volevo. –

Problemi correlati