Datagridview 바인딩 중 row 에 특정 Column의 value 를 가져오고 싶습니다

안녕하세요…

제목 그대로 datagridview 바인딩 중 일 때 row 에 특정 Column 값을 가져오고 싶은데…

바인딩 중에 발생하는 이벤트가 어떤 건지 좀 알려주세요.

RowsAdded, CellValueNeeded 두개의 이벤트를 사용해 봤는데…

제가 잘 못하는 건지 안되더군요…

좋아요 3

@조이_엔 환영합니다. :smile:

혹시 DataGridView면 Winform인가요?

DataGridView.CellValueChanged일 것 같은데 맞을까요?

좋아요 2

답변 감사합니다.

저의 질문이 명확하질 않았네요…죄송합니다.

제가 원하는 건 바인딩이 되는 중에

현재 바인딩 되는 Row 에 첫번째 Column 의 값을 가지고 오고 싶습니다.

감사합니다.

좋아요 2

선택한 row의 Column 값을 가져오시는 거면 SelectionChanged를 사용해서 파라미터를 살펴보는게 좋을 것 같습니다.
이벤트 함수에 브레이크포인트를 걸고 EventArgs로 들어오는 값을 한번 확인해보세요.

좋아요 2

답변 감사합니다.
선택한 행은 아니구요…
현재 바인딩 되는 행에서 첫번째 열의 값을 가져오고 싶습니다.
감사합니다.

좋아요 2

저도 이거일꺼라 생각했습니다 근데 아니였네요 ㅠㅠ

좋아요 1

위 두분 답변 감사합니다…
결국 이벤트는 찾지 못하고…
grid 에 데이타를 직접 바인딩 해서 넣지 않고.
데이타를 loop 돌면서 grid 에 add 했습니다.

add 시 loop 돌때 원하는 작업을 하는 걸로 해서 처리 했습니다.

감사합니다.

그런데 제가 질문한 내용 원하는 답변 없음으로 완료 처리를 할 수가 없나 보네요…

해결책 체크는 있는데… 질문 완료 같은 기능은 없나보네요…

좋아요 1

해결하셨다니 다행입니다. :smile:

처리하신 부분을 코드로 남겨주시면 다른 분들에게도 좋을 것 같아요!
(그리고 코드로 남겨 주시면 다른 방법이 나올 수 도 있고요.)

@조이_엔 직접 해결하신 방법을 해결책으로 선택해주시면 될 것 같습니다.

@조이_엔 님께서 질문한 내용에 대해 자세히 답변드리고 싶었지만 제가 질문을 잘못 이해한 것 같아요…
이미 차선책으로 해결하셨지만 제가 궁금한 점을 여쭤볼께요.

바인딩 된 데이터에서 직접 원하는 컬럼의 데이터를 가져오는 건 어떤가요?
보통 Collection 형태의 데이터일텐데, Linq 구문 이용해서 가져올 수도 있을 것 같아서요.

public class SomeData
{
   public int Num { get; set; }
   public string Name { get; set; }
}

...

public List<SomeData> DataGridSource { get; set; }

...

var nameList = DataGridSource.Where(row => row.Name).ToList();
좋아요 1