2012-12-03 13 views
12

Ho tre campi firma nel mio PDF. Sto prendendo i valori da un ComboBox nelle mie app Windows Form per questo.Accesso a una lista di caselle di testo

Il ComboBox ha:

Signature 1 
    Signature 2 
    Signature 3 

Per i campi di firma, ho un immobile:

field.fullname; 
field.baseobject; 

che mi dà il nome completo del campo, per esempio

Signature 1 
... 

Voglio confrontare questi due sul clic del pulsante Salva; ovvero, se è selezionato il campo firma 1, i dati devono essere aggiunti solo al campo firma1 e così via.

Come posso fare?

Ho provato ad utilizzare field.BasedataObject, e ho trovato il seguente

<24 0 R> - 1st field 
<26 0 R> - 2nd field 
<1010 0 R> - 3rd field 
+2

Si sta utilizzando una libreria per la creazione di PDF? In tal caso, potresti aggiungerlo come tag per attirare le persone che hanno familiarità con il tuo scenario. – neontapir

risposta

0

Perché non si dispone di una struttura per la firma?

struct Signature 
{ 
Signature1, 
Field1, 
Field2 
}; 

Quindi è possibile confrontare queste variabili di struttura.

0

È possibile creare una classe con 3 proprietà come segue class Firma { stringa firma1, stringa fullname, oggetto BaseObject } può aver ottenere e impostare troppo

questo vi aiuterà a combinare tutti i valore e può avere metodo di aiuto anche in questa classe

0

È molto difficile capire cosa hai fatto e cosa vuoi fare, ma sembra che tu abbia solo bisogno di usare il SelectedValue del comboBox e confrontare/ottenere l'oggetto giusto con h che "id".

Nel tuo esempio sembra che il 24, 26 e 1010. L'uscita hai lì è probabilmente l'Object.ToString().

Non dimenticare combo hanno un valore selezionato (si dovrebbe memorizzare la chiave) e il testo selezionato. Dimentica il testo e vai alla chiave del campo di utilizzo. Base.Oggetto.Key

1

Sembra una soluzione semplice sarebbe quella di creare una classe per la firma (utilizzando le proprietà necessarie) quindi creare una matrice di firme. Usa quell'array di firme per popolare la tua casella combinata in primo luogo (mantenendo l'integrità del tuo sistema) quindi usa l'id dal valore selezionato della casella combinata per confrontarla con l'indice dell'array. Qualcosa del genere:

public class Signature{ 
    string property1; 
    string property2; 

    public Signature(string propertyVal1, string propertyVal2) 
    { 
     property1 = propertyVal1; 
     property2 = propertyVal2; 
    } 

} 

    Signature[] mySignatures = new Signature[3]; 

    public Form1() 
    { 
     InitializeComponent(); 
     mySignatures[0] = new Signature("hello", "world"); 
     mySignatures[1] = new Signature("hello", "world"); 
     mySignatures[2] = new Signature("hello", "world"); 
     for (int i = 0; i < mySignatures.Length; i++) 
     { 
      comboBox1.Items.Add(mySignatures[i]); 
     } 

    } 
0

Come ti riferisci al pdf? è salvato nel tuo database? o ti riferisci ad esso esternamente?

se salvato nel database è possibile accedervi utilizzando la serializzazione binaria. se esternamente, Adobe pro ha ha un pulsante di collegamento che collega i file pdf per il servizio Web utilizzando l'URL (è necessario fare JScript codifica pdf sul pdf)

Si potrebbe anche voler vedere PDFOne app che accedere ai campi pdf in un modo semplice.

Grazie

Problemi correlati