2017-07-19 66 views
0

所以我在我的PDF模板列表框,我把它命名爲「QTE」,以及一些其他的文本框,我用iTextSharp的填充字段,填充文本框工作正常,但列表框不填充/填寫PDF模板列表框編程與C#代碼列表

這裏是一些代碼:

stamper.AcroFields.SetField("Client", label2.Text); 
stamper.AcroFields.SetField("Qte", label2.Text); 
stamper.AcroFields.SetField("Qte", label2.Text); 
stamper.AcroFields.SetField("Qte", label2.Text); 
stamper.AcroFields.SetField("Qte", label2.Text); 
stamper.AcroFields.SetField("Qte", label2.Text); 

我終於明白的是,名單不填充一樣的文本框,也許不是模子。 有人可以給我解決方案嗎? 謝謝!

+0

這個問題還不清楚。 「選擇」字段(例如由列表框表示)包含一系列鍵和值。填寫文本字段時,可以選擇將哪些文本添加爲​​值,但是如果要填寫選擇字段,則必須選擇其中一個可用鍵。你知道哪些鍵可用嗎?你是否在使用其中一個鍵(如果沒有,則不會發生)。或者我誤解了你的問題。你問如何用新的鍵和值替換現有的鍵和值?請澄清。 –

+0

stamper.AcroFields.SetField(「Client」,label2.Text);工作正常,因爲「客戶端」是一個文本字段,但「qte」是一個列表框,我的問題是「qte」未填充 –

+0

@SaifeddineAbid,嘗試使用'stamper.AcroFields.SetField(「qte」,new [] {label2 .Text});'列表也可能需要列表作爲數據源。 –

回答

0

基於評論,我現在明白了你對「填寫選擇區域」的概念與「設置列表選項」的概念混淆不清。

假設你有一個列表場名爲language有以下選項:

  • 選項:「英語」;值:「en」
  • 選項:「法語」;值:「fr」
  • 選項:「Dutch」;值: 「NL」

在這種情況下,你會填寫領域是這樣的:

stamper.AcroFields.SetField("language", "nl"); 

下面的行不會做任何事情:

stamper.AcroFields.SetField("language", "de"); 

它止跌」因爲值"de"對於language選擇字段無效,所以不做任何操作。

在我看來,你不一定要填寫一個選擇字段,但是你想用新值填充一個列表。

例如:

string[] languages = new string[] { "English", "French", "Dutch", "German" }; 
string[] exportvalues = new string[] { "en", "fr", "nl", "de" }; 
stamper.AcroFields.SetListOption("language", languages, exportvalues); 

現在外地language將有四個選項,而不是三個:

  • 選項: 「英語」;值:「en」
  • 選項:「法語」;值:「fr」
  • 選項:「Dutch」;值:「nl」
  • 選項:「德語」;值:「德」

這將導致其下面的行會選擇正確的選項:

stamper.AcroFields.SetField("language", "de"); 

現在,我已經完成了我的答案,我看到這個問題是之前已經回答:Adding listchoices to Pdfform with c# code

+0

我試過你的解決方案,但是,我不想填充選擇字段,它是一個簡單的列表,我想用c#列表或數組中的值填充它。謝謝 –

+0

「簡單列表」是「選擇字段」的常見類型。這就是爲什麼該方法被稱爲'setListOptions()'。你剛剛讓你的問題無法回答。根據你的說法,列表和選擇字段之間的區別是什麼? –