2011-08-12 4 views
0

현재 작동중인 VB.NET ASPX 파일을 개발 중입니다. 하지만 이제는 오류가있어서 드롭 다운 목록 인 새로운 입력 매개 변수 하나를 추가했습니다. 드롭 다운 목록이 올바르게 작동합니다. 그 소스는 SQL DataReader에서 가져옵니다. 그러나 사용자가보아야하는 필드는 기본 값과 다릅니다. 다음과 같이 그래서 2 차원 배열 목록을 만들거나 어떻게 든 매핑을 만들려면 : 보이는 텍스트 보이지 않는 가치 AAAAA 601 BBBBB 602 CCCCC 603 ...VB.NET 다차원 arraylist를 작성하는 방법은 무엇입니까?

그래서 AAAAA, BBBBB를 볼 단지해야 사용자, CCCCC 등을 선택할 수 있습니다. 그들은 "BBBBB"를 선택하는 경우 그러나, 내 SQL 쿼리 필드에 레코드를 필터링해야한다 = 여기에 602

내 코드의 발췌는 지금 :

 Dim pcSQL As String 
     Dim ProductList As New ArrayList() 
     Dim ProdCodeSearch As String 
     Dim InstrumentSearch As String 

     pcSQL = " select distinct instrument_name, product_code from FRUD.tblXref order by instrument_name " 
     Dim DBConn As SqlConnection 
     DBConn = New SqlConnection(ConfigurationManager.AppSettings("AMDMetricsConnectionString")) 
     DBConn.Open() 
     Dim reader As SqlDataReader 
      Dim DBCommand As New SqlCommand(pcSQL, DBConn)  
     reader = DBCommand.ExecuteReader() 

     While reader.Read() 
     ProductList.Add(reader(0),reader(1)) 
     End While 

     dProdCodeSearch.DataSource = ProductList(0) 
     dProdCodeSearch.DataBind() 
     reader.Close() 

     ProdCodeSearch = dProdCodeSearch.SelectedValue 

답변

1

당신은 DataTextField과의 DataValueField을 설정해야 DropDownList 전에 DataBind 그것.

dProdCodeSearch.DataSource = reader 
dProdCodeSearch.DataTextField = "instrument_name" 
dProdCodeSearch.DataValueField = "product_code"  
dProdCodeSearch.DataBind() 

DataTextField

는 사용자가보고 싶은 열이며, DataValueField는 일반적으로 기본 키 열입니다.

선택한 항목의 식별자를 가져 오려면 DropDownList의 이 필요합니다.

관련 문제