QnA
사용언어
(칠해주세요) => (C#,VB) |
사용툴 (VS) : |
운영체제 (OS) : |

위의 그림과 같이 1번 아이템 2번아이템으로나눠지고 1번아이템이 끝났을때 footer을 추가해 1번 컬럼의 합을 해주고
2번 아이템에도 똑같이 2번아이템의 1번컬럼의 합을 해줘 추가시킵니다.
이러한 결과를 얻기 위해서는 Gridview_CustomSummaryCalculate 이벤트를 써서 해야하는게 맞는지 이벤트를 안 쓰고 다르게 할 수 있는 방법이 있는지 알고 싶습니다.
GridColumn gc = gv.Columns["1번컬럼"];
GridGroupSummaryItem item = new GridGroupSummaryItem();
item.FieldName = "HITECH_PRICE";
item.SummaryType = DevExpress.Data.SummaryItemType.Sum;
item.ShowInGroupColumnFooter = gc;
gridView1.GroupSummary.Add(item);
// Create and setup the second summary item.
gc = gv.Columns["2번컬럼"];
GridGroupSummaryItem item1 = new GridGroupSummaryItem();
item1.FieldName = "PO_PRICE";
item1.SummaryType = DevExpress.Data.SummaryItemType.Sum;
item1.DisplayFormat = "Total {0:c2}";
item1.ShowInGroupColumnFooter = gc;
gridView1.GroupSummary.Add(item1);
이런식의 코드를 입력해봤지만 Gridview에서는 변화가 없었습니다. 따로 할 수 있는 방법이 있으면 알고 싶습니다. ㅠㅠ
첫댓글 일단은 https://documentation.devexpress.com/#WindowsForms/CustomDocument5522 여기랑 같이 하신거 같은데요.. gc 를 저렇게 한개 가지고 2개의 작업을 하실려고 해서 그런겁니다. FieldName 별로 2개 만드셔서 하시길 발바니다. 아마.. 2번 컬럼 밑으로 주석 처리 하면 한개는 잘 나올것입니다.
gc는 클래스입니다. 클래스는 레퍼런스 타입입니다.. 그죠?? 값 중간에 바꾸어 버리면 참조하는 주소값이 변합니다.
그래서 안나오지 않을까 싶네요.. 음.. 객체적인 개념은 나중에 다시 애기하기로 하구요..
GridColumn gc2 = gv.Columns["2번컬럼"]; 해서 해보시길 바랍니다.
위 주소 들어가보시면 예제 하면이 나올껍니다. 보시면 위의 이미지는 만드신거죠? devexpress 의 summary와는 다른것입니다. 묶입니다. 펼쳐지기도 하고요.. 즉.. 이미지처럼 나오게 하실려면..쿼리문에서 처리해야할것 같습니다.
쿼리문으로 With Roll UP 키워드로 부분 Summary를 만든다음에 부분합계 부분 구분자를 줘서 색상을 칠해야할것 같습니다.
혹시라도 저보다 더 잘아는 분들이 방법을 제공할것 같아서 답변을 안 달았는데.. 역시나 없는건지 답변을 안다시는건지 모르겟지만.. 속도는 이벤트 처리가 더 빠를것이고. 모양은 쿼리문으로 처리하면 될것입니다.
감사합니다, 그냥 처리는 섬머리보다 sql문으로 해결했습니다. ㅠㅠ