ASP.net의 드롭 다운 목록에 입력 할 항목을 결정하기 전에 필드 값을 확인하려고합니다.DataReader.Read()는 레코드 집합의 첫 번째 행을 건너 뜁니다.
나는 이것을 할 수 있도록 레코드 세트를 읽기 위해 datareader.Read()를 사용하고 있습니다. 그러나 이렇게하면 데이터의 첫 번째 행을 건너 뜁니다. . 드롭 다운 상자는 기본적으로 크기 및 색상 목록입니다. . . 그래서 현재 첫 번째 크기가 누락되었습니다. 나는 또 다른 읽기 또는 방법 이외의 방법은 첫 번째 레코드를 건너 뛰는 중지가 있어야 하나 생각
Using cmd As New SqlCommand("doGetAllSizesForProduct", oConn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@id", CType(Request.QueryString("id"), Integer))
oConn.Open()
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows() = True Then
dr.Read()
ddlSize.Visible = True
pnlSize.Visible = True
pnlNoStock.Visible = False
If dr("colour") = "None" Then
ddlSize.DataTextField = "size"
Else
ddlSize.DataTextField = "sizeColour"
End If
ddlSize.DataValueField = "mapperid"
ddlSize.DataSource = dr
ddlSize.DataBind()
Else
End If
dr.Close()
End Using
End Using
: 여기
코드인가?
oscilatingcretin, 즉 내가 필요한 매우 가깝습니다, 유일한 문제는,이 행 단위로 작동하지 않습니다 해당 행 colors = "None"이면 선택한 행만 해결할 수 있습니다. 내가 행별로 이것을 어떻게하면 좋을까? 지금까지 도와 줘서 고마워. – Scrappy
무슨 뜻인지 모르겠다. 위의 코드는 기본적으로 코드와 정확히 동일하지만 판독기 대신 datatable을 사용합니다. 원래 코드는'dr.Read()'를 한 번만 호출 했으므로 어쨌든 한 번의 반복 만 수행했을 것입니다. 처음에는 내 솔루션에서 모든 데이터를 드롭 다운으로 채우고 있습니까? – oscilatingcretin
위의 코드는 내 드롭 다운을 채 웁니다. 그러나 예를 들어 첫 번째 값이 "Medium Red"이면 각 반복의 크기와 색상이 표시되므로 두 번째 값이 "Medium None"인 경우에도 "Medium"이 아닌 "Medium"이 표시됩니다 모든 반복에서 체크를 수행하지 않습니다. 마찬가지로 첫 번째 값이 "Medium None"이면 "Medium"으로 표시되지만 두 번째 값 인 "Medium Red"도 "Medium"으로 표시됩니다. 기본적으로 모든 행마에서 그것을 평가할 필요가 있습니다. 지금까지 도움을 주셔서 감사합니다. 대단히 감사합니다. – Scrappy