2012-12-03 19 views
12

Mam trzy pola podpisu w moim pliku PDF. Biorę wartości z ComboBox w moich aplikacjach Windows Forms do tego.Uzyskiwanie dostępu do listy pól tekstowych

ComboBox posiada:

Signature 1 
    Signature 2 
    Signature 3 

Dla pól podpisu, mam właściwość:

field.fullname; 
field.baseobject; 

co daje mi pełną nazwę pola, na przykład

Signature 1 
... 

Chcę porównać te dwa na Kliknij przycisk Zapisz; to znaczy, jeśli pole wyboru podpisu 1 jest zaznaczone, dane powinny być dodane tylko do pola podpisu 1 i tak dalej.

Jak to zrobić?

Próbowałem za pomocą field.BasedataObject i znalazłem następujący

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

Czy korzystasz z biblioteki do tworzenia plików PDF? Jeśli tak, możesz dodać go jako tag, aby przyciągnąć osoby znające Twój scenariusz. – neontapir

Odpowiedz

0

Dlaczego nie masz struct do podpisu?

struct Signature 
{ 
Signature1, 
Field1, 
Field2 
}; 

Można wtedy porównać te zmienne strukturalne.

0

Można utworzyć klasę z 3 mieszkań, jak następuje klasy Podpis { ciąg Signature1, ciąg fullname, obiekt baseobject } mogły dostać i zbyt

to pomoże Ci połączyć wszystkie wartość i może mieć pomoc w tej klasie też

0

Bardzo trudno jest zrozumieć, co zrobiłeś i co chcesz zrobić, ale wygląda na to, że potrzebujesz tylko użyć SelectedValue z comboBox i porównać/uzyskać odpowiedni obiekt z h, że "id".

W twoim przykładzie wygląda on na 24, 26 i 1010. Wyjście, które tam dostałeś, to prawdopodobnie Object.ToString().

Nie zapomnij, że kombinacje mają wybraną wartość (należy zapisać klucz) i zaznaczony tekst. Zapomnij o tekście i przejdź do pola użycia klucza.BasedataObject.Key

1

Wygląda na to, że prostym rozwiązaniem byłoby utworzenie klasy dla Podpisu (przy użyciu niezbędnych właściwości), a następnie utworzenie tablicy podpisów. Użyj tej tablicy podpisów, aby zapełnić swój combobox w pierwszej kolejności (zachowując integralność systemu), a następnie użyj identyfikatora z wybranej wartości combobox do porównania z indeksem tablicy. Coś takiego:

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

Jak odnoszą się Państwo do pdf? czy jest on zapisany w twojej bazie danych? lub odnoszę się do niego zewnętrznie?

jeśli jest zapisany w bazie danych, możesz uzyskać do niego dostęp za pomocą binarnej serializacji. jeśli zewnętrznie, Adobe pro ma przycisk łącza, który łączy pliki PDF z twoją usługą internetową za pomocą adresu URL (musisz zrobić kodowanie pdf pdf)

Możesz również chcieć zobaczyć aplikację PDFOne, która ma dostęp do pól pdf w łatwy sposób.

Dzięki

Powiązane problemy