2012-02-14 8 views
6
var id = Session["staff_id"].ToString() 

//I have datatable with 5 columns 

DataTable dt = function_return_Datatable(id); 

dropdownlist1.DataSource = dt; 

/*in DataTextField I want to merge two columns of DataTable, dt.columns [1] is First Name and dt.columns [2] is LastName*/ 

//I tried this way to merge them, but no results 
dropdownlist1.DataTextField = dt.Columns[1].ToString()+" "+dt.Columns[2].ToString(); 

dropdownlist1.DataValueField = dt.Columns[0].ToString(); 
dropdownlist1.DataBind(); 

Jakieś pomysły na scalenie tych dwóch kolumn?Scal 2 kolumny z datatable w datateficie z rozwijanej listy

+1

Witamy w StackOverflow: jeśli umieścisz kod, XML lub próbki danych, ** proszę ** zaznacz te linie w edytorze tekstu i kliknij przycisk "próbki kodu" ('{}') na pasku narzędzi edytora ładnie sformatować i składni podkreślić go! –

Odpowiedz

24

Musisz pełną nazwę kolumny w tabeli danych jako DataTextField może odnosić się tylko do jednego pojedynczego pola:

DataTable dt = function_return_Datatable(id); 
dt.Columns.Add("FullName", typeof(string), "FirstName + ' ' + LastName"); 

dropdownlist1.DataSource = dt; 
dropdownlist1.DataTextField = "FullName"; 
dropdownlist1.DataValueField = "ID"; 
dropdownlist1.DataBind(); 

powinno wystarczyć

(można też dodać tę kolumnę w SQL zapytanie)

+0

Tak, tak, tak !!! pracowałem dobrze, bardzo dziękuję :) – Alex

+0

@Alex, wydajesz się być nowy w StackOverflow, jeśli znajdziesz odpowiedź prawidłową, możesz ją głosować za pomocą strzałki w górę. Wśród wielu odpowiedzi, jakie możesz otrzymać na swoje pytanie, możesz wybrać najbardziej odpowiedni, klikając znacznik wyboru. Nie szukam reputacji, ale tylko po to, żeby Cię powiadomić ... Witaj :) –

Powiązane problemy