2013-04-18 2 views
0

저는 asp.net의 초보자입니다. 테이블에 바인딩 된 드롭 다운 목록에 대한 도움을 줄 수 있기를 바랍니다. 내가 필드 사용자 ID, 사용자 이름 및 유형과 테이블 계정이드롭 다운 목록의 옵션을 변경하려면 어떻게해야합니까?

:

여기에 시나리오입니다. 유형 필드에는 'S', 'A'및 'U'의 3 개 항목이 있습니다. 각 사용자는 자신의 유형이 있습니다. 계정 테이블에 이미

바인딩 된 'ddlType'드롭 다운 목록이 있습니다. 그러나 드롭 다운 목록의 옵션을 문자/이니셜 만 표시하는 대신 '이해 관계자', '승인자'및 '사용자'로 표시하려고합니다. 데이터베이스를 변경하는 것을 선호하지 않으므로 코드 숨김을 통해 이러한 옵션을 어떻게 변경할 수 있습니까? 여기

내 코드입니다 :

공공 무효 BindControls (INT의 selectedUserId) { DataTable을 dtAccount = NULL;

try 
{ 
    dtAccount = LogBAL.GetAccountDetails(selectedUserId); 

    if (dtAccount.Rows.Count > 0) 
    { 
     lblUserId.Text = dtAccount.Rows[0]["UserId"].ToString(); 
     txtUserName.Text = dtAccount.Rows[0]["UserName"].ToString(); 
     ddlType.SelectedValue = dtAccount.Rows[0]["Type"].ToString(); 
    } 
} 
catch (Exception ex) 
{ 
    throw ex; 
} 
finally 
{ 
    dtAccount.Dispose(); 
} 

}

너희들로부터 어떤 도움을 이해할 수있을 것이다. 고마워요! : D

답변

0

코드 숨김에 드롭 다운 목록을 바인딩 할 수 있습니다.

"Type"을 배열로 가져옵니다. 배열을 2 차원으로 만들고 값을 할당하십시오.

배열이 다음과 같이 표시되면 문자열 [,] Types = {{ "Stakeholder", "S"}, { "Approver", "A"}, { "User", "U" }};

이제 값을 Dropdown에 할당하십시오. int rows = Types.GetUpperBound (0);
int columns = Types.GetUpperBound (1);
ddlType.Items.Clear(); for (int currentRow = 0; currentRow < = 행; currentRow ++)
{
ListItem li = 새 ListItem(); 위한
(; currentColumn < = 컬럼; INT currentColumn = 0 currentColumn ++) {

경우 (currentColumn == 0) {

li.Text = 유형 [CurrentRow와, currentColumn]; 다른
}

{
li.Value = 유형 [CurrentRow와, currentColumn];
}
}
ddlType.Items.Add (li);
}

테스트하지는 않았지만 제대로 작동합니다.

관련 문제