콤보 상자 컨트롤에 문제가 있습니다. 항목은 데이터베이스에서 검색되지만 SelectedValue 속성을 통해 액세스 할 수 없습니다. 데이터 바인딩 된 콤보 상자에 액세스 C#
나는이처럼 설정 시도 :DataSet ds = retrieveData(); //I am calling a procedure, it works fine
myComboBox.DataSource = ds;
myComboBox.DisplayMember = "COLUMN1";
myComboBox.ValueMember= "COLUMN2";
을하지만 그것은 작동하지 않을 것입니다. 작동 이제
foreach (DataRow dr in ds.Tables[0].Rows)
{
myComboBox.Items.Add(
new { TEXT = dr["COLUMN1"].ToString(),
VALUE = Convert.ToInt32(dr["COLUMN2"].ToString())
});
}
: 콤보 상자의 텍스트는
System.Data.DataViewManagerListItemTypeDescriptor
그래서 내가 이런 짓을했다. 하지만 인덱스 (myComboBox.IndexOf("Text inside")
) 대신 값 (기본 키이므로 고유성이 보장됨)에 액세스해야합니다. SelectedValue는 항상 null이며, SelectedIndex는 익명의 객체로 어느 필드에도 접근 할 수 없습니다!
어떤 도움이 필요합니까?
첫 번째 예제가 작동하지 않는 이유를 알아내는 것이 중요합니다. 두 번째 것은 바인딩 된 DataSource가 없기 때문에 SelectedValue를 사용할 수 없습니다. 또한 http://stackoverflow.com/questions/14379183/combobox-selectedvalue-throws-null-reference-exception – Steve
@Steve를 참조하십시오. 그러면 상자의 텍스트가 다음과 같습니다.'System.Data.DataViewManagerListItemTypeDescriptor' – dzenesiz