2015-11-26 13 views
6

Sto lavorando su un'applicazione web. Ho due caselle di testo, una è txtEmployeeID e una è txtEmployeeName. Quello che sto cercando di fare qui è quando l'utente inserisce EmployeeID nel txtEmployeeID, il nome del dipendente verrà visualizzato nel txtEmployeeName. Ho ottenuto questa parte lavorando così lontano. Tuttavia, se il employeeID inizia con il gruppo 0, diciamo 00000345, l'utente deve immettere tutti 00000345 nello employeeID per mostrare che employeeName. Mi chiedo se c'è un modo per l'utente di inserire semplicemente 345 e quindi quello employeeName di 00000345 verrà visualizzato nel txtEmployeeName? L'aiuto sarà apprezzato.Come ignorare l'inizio intero con 0

Per esempio

EmployeeID EmployeeName 
00000345  James Murray 

Nella mia casella di testo.

Employee ID: 345 

Mostrerà

Employee Name: James Murray 

mio DB Query

@Employee_ID varchar(8) = NULL 

SELECT s.Employee_ID, p.FIRST_NAME, p.LAST_NAME 
    FROM [dbo].[Employee] e INNER JOIN [dbo].[Person] p ON e.PERSON_ID = p.PERSON_ID 
    WHERE p.Employee_ID = @Employee_ID 
+2

Eh, * convert * in 'int' o' long'? o 'TrimStart ('0')'? per aggiungere * zeri * - usa padding: '.PadLeft (8, '0');' –

+1

Come stai guardando il dipendente? Se il tuo database usa stringhe come ID, allora "00035" e "35" sono diversi ... dovresti usare i numeri come ID o formattare il numero che l'utente ha inserito nella lunghezza prevista. –

+1

Mostraci il codice che esegue il filtraggio. –

risposta

9

Prova questa

int num = Convert.ToInt32(txtEmployeeID.Text); 
string idNum = num.ToString("00000000"); 
txtEmployeeID.Text = idNum.ToString(); 
0

si può fare in questo modo:

string EmplId = txtEmployeeID.Text; 
EmplId = EmplId.TrimStart(new Char[] { '0' }) 
2

È possibile utilizzare Int32.ToString ("000") per formattare un numero intero in questo modo. Per i dettagli, consultare Custom Numeric Format Strings e Int32.ToString:

txtEmployeeID.text.ToString("00000000") == EmployeeID;

0

rispondo query partendo dal presupposto che la lunghezza della EmployeeID è fisso (secondo la vostra domanda è 8)

permettere all'utente di digitare employeeID in il campo di testo senza zeri

Utilizzare il seguente codice C# per aggiungere gli zeri iniziali al parametro prima di inviarlo alla query del database.

string EmployeeID = String.Format ("{0: 00000000}", int.Parse (txtEmployeeID.ToString())). ToString();

Problemi correlati