난 당신이 따라서 그리드 열을 매핑하고 실패 실패 당신이 Enumerable에서 필터링 된 목록으로 변환 할 때 CopyToDataTable
ds.Table[0].AsEnumerable().Where<DataRow>(r=>r.Field<int>("productID")==23).CopyToDataTable();
사용해보십시오 ProductID
말에 대한 식별자가 없습니다한다고 생각합니다.
또는 CopyToDataTable()
대신 AsDataView()
을 사용할 수도 있습니다.
자세한 설명은 Binding DataRows
데이터 바인딩이 ListBindingHelper 및 TypeDescriptor를 클래스에 의해 제어를 발견 할 수있다. 목록에 바인딩하면 ListBindingHelper.GetListItemProperties 메서드가 호출되어 목록에서 열을 가져옵니다. 목록에 ITypedList 인터페이스가 구현되어 있으면 GetItemProperties 메서드가 호출됩니다. 그렇지 않으면 TypeDescriptor를 사용하여 목록의 첫 번째 항목의 속성을 가져옵니다. (이는 리플렉션을 사용하는()의 DataTable도 IListSource를 사용을 통해 결합)을 구현 ITypedList 테이블의 열에 노출 DataColumnPropertyDescriptors를 반환
DataView를 클래스. 이 때문에 DataView 또는 DataTable에 바인딩하고 열을 볼 수 있습니다. 그러나 List에 바인딩하면 이 속성으로 열을 반환 할 수있는 ITypedList가 없습니다. 따라서 그것은 리플렉션으로 돌아가서 DataRow 클래스의 물리적 속성을 보여줍니다.
결과가 잘못되었습니다 ... 오류가 있습니까? – ThePower
더 많은 정보를 제공하지 않으면 여기서도 성공을 거둘 수 없습니다. – Jon
글쎄, 마지막으로'.ToList'가 필요하다고 생각합니다. – V4Vendetta