본문 바로가기
개발언어/3rd Part

Column에 Formula로 계산식 적용하기

by 엔돌슨 2008. 2. 13.
반응형
http://forums.infragistics.com/forums/p/1819/13560.aspx#13560 포럼에 갔더니 어떤식으로 추가하여야 하는 지에 대해서 알려 주는 글을 보았다.

How to perform calculation in Ultrawingrid

Hi Ritu,

    You can add an unbound column to the grid. The best place to do this is in the InitializeLayout event.

    Just place an UltraCalcManager component on your form and you can assign a Formula to the column. I'm not sure if there are functions for Beta Distribution or Poisson distribution, because I don't know what those are (Big Smile) but there are a lot of available functions in CalcManager. You can also write your own custom functions (there's a sample of this included with NetAdvantage).

위에 글에 의하면 초기화이벤트(InitializeLayout event)를 할때 컴럼을 생성하고 그 컬럼의 Formula를 세팅하면 된다고 한다.

간단히 작성해 보았다.
우선 조회후 컬럼을 추가하는 방식으로 예제를 구성하였다.
[CODE]
    protected void SetFormula_Click(object sender, EventArgs e)
    {
        UltraWebGrid1.Columns.Add("one", "test formula");  // 빈 컬럼을 추가합니다.
        Infragistics.WebUI.UltraWebGrid.UltraGridColumn c = UltraWebGrid1.Bands[0].Columns.FromKey("one");  //컬럼을 지정합니다.
        c.Formula = "ROUND([ba_ulimit] * 5 , 1)";          // 해당 컬럼 Formula 계산식을 작성합니다.
        c.Format = "###,###,###";
    }
[/CODE]

우선 one이라는 컬럼을 만들고 계산식을 적용시켰다.
ba_ulimit 컬럼에 곱하기 5 한후 반올림 1 한 값을 one컬럼에 보여준다.

이런 방법이외에 하드코딩하는 방법도 있다.

Creating a Calculated Column in WebGrid
http://help.infragistics.com/Help/NetAdvantage/NET/2007.2/CLR2.0/html/WebCalcManager_Creating_a_Calculated_Column_in_WebGrid.html