내 C# 응용 프로그램에서 datagrisview의 datasource가 클래스 person의 IList로 설정되었음을 의미하는 'person'데이터가 포함 된 DataGridview가 있습니다.DataGridview에 null 값을 추가하십시오.
내 사람 모델은 다음과 같은 필드 (단지 모델이 아닌 DataGridView를) 구성
string foreName
string surname
int devisionId
int someOtherId
Organisation orga
기구 일대 NHibernate에와로 매핑하는 다른 모델입니다.
이string orgaName
이제 (나를 위해) 까다로운 부분 온다 .... 내가 사람의 모든 필드를 갖고 싶어 그나마 내 DataGridView에에서 가, 난 그냥 다음을 갖고 싶어 : 그 중에서도 조직은 문자열로 구성 첫 번째 twoe 필드를 얻기
foreName
surname
orga.orgaName
은 간단합니다 :
dataGridView.DataSource = listOfPersons.Select(x => new { ForeName = x.ForeName, SurName = x.Surname}).ToList();
이 지금까지 잘 작동하지만 지금 나는 또한 나의 된 DataGridView 초 이내에 조직의 이름을 갖고 싶어 나는 이것을 시도했다 :
dataGridView.DataSource = listOfPersons.Select(x => new { ForeName = x.ForeName, SurName = x.Surname, OrganisationName = x.Organisation.organName}).ToList();
이것은 모든 사람이 조직을 갖고 있지만 사실이 아니라면 잘 작동 할 것이다. 어떤 사람들에게는 조직이 없기 때문에 '조직'이 null이고 Organisation.organName을 잡으려고하는 것은 nullpointerexeption으로 끝납니다.
지금 질문 : 조직이 null이 아니거나 otherwisesomething이 datagridview에 인쇄 될 때 조직 이름이 표시되도록하려면 datagridview-datasource에 대한 select 문을 작성할 수 있습니까 (예 : 사용 가능한 조직 없음))
이 최고, 대단히 감사합니다. – Metalhead89
다음을 어떻게 구현할 수 있습니까? organization! = null 조직 이름을 설정하고 다른 것을 설정하십시오. – Metalhead89
람다에서 호출하고 호출하는 함수를 작성할 수 있습니다. 이것은 아마도 최선의 방법은 아니지만, 달성하려는 것은 무엇입니까? – paul