집 >데이터 베이스 >MySQL 튜토리얼 >내 WinForms 목록 상자에 실제 값 대신 \'System.Data.DataRowView\'가 표시되는 이유는 무엇입니까?
WinForms 목록 상자에 값을 표시할 때 "System.Data.DataRowView"가 나타나는 이유는 무엇입니까?
WinForms 목록 상자에 데이터를 표시할 때 , 실제 값을 검색하는 대신 "System.Data.DataRowView"가 표시되는 문제가 발생할 수 있습니다. 이러한 불일치는 여러 요인에 기인합니다.
제공된 코드는 MySqlDataAdapter를 사용하여 데이터베이스에서 데이터를 캡처하고 그 결과로 DataTable을 채웁니다. 그러면 Listbox의 DisplayMember 속성이 테이블의 특정 열로 설정되지만 데이터 소스는 전체 DataTable로 유지됩니다.
목록 상자에 대해 ValueMember를 명시적으로 지정하지 않았기 때문일 수 있습니다. ValueMember 속성은 항목을 선택할 때 반환되는 값을 결정합니다. ValueMember가 설정되지 않은 경우 기본 동작은 모든 열과 해당 값을 포함하는 전체 DataRowView를 반환하는 것입니다.
이 문제를 해결하려면 원하는 열 이름을 목록 상자의 ValueMember 속성에 할당하세요. 이 작업을 수행하면 목록 상자에 DataRowView 개체 대신 선택한 열의 실제 값이 표시됩니다.
또는 다음 기술을 사용하여 선택한 DataRowView에서 특정 값을 검색할 수 있습니다.
DataRowView drv = (DataRowView)lstNames.SelectedItem; string valueOfItem = drv["ColumnName"].ToString();
이 접근 방식은 DataRowView 내의 모든 열 값에 대한 액세스 권한을 부여하여 필요에 따라 데이터를 조작할 수 있는 유연성을 제공합니다.
위 내용은 내 WinForms 목록 상자에 실제 값 대신 'System.Data.DataRowView'가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!