본문 바로가기
Winform

Infragistics Grid event

by 캡틴노랑이 2015. 12. 30.
반응형

row Initialize evnet


row가 그려질 때 row 수 만큼 반복되며, 각 cell별로 설정이 가능하다.

상태에 따라 이미지가 바뀐다면, 이미지도 바꿔 줄 수 있고, 계산을 해야한다면 계산 로직을 넣으면 된다.


uGrid.InitializeRow += new Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(uGrid_InitializeRow);

protected void uGrid_InitializeRow(object sender, InitializeRowEventArgs e)
{
      try
      {
         
          if (e.Row.Cells["N"].Value.ToString() == "Y")              
             e.Row.Cells["YN"].Appearance.ImageBackground = _imgActive;              
          else 
             e.Row.Cells["YN"].Appearance.ImageBackground = _imgInActive;         
      }
      catch (System.Exception ex)
      {
          MessageBox.Show(ex.Message);
      }
}

---------------------------------------------------------------------------------------------------------



AfterRowFilterChanged evnet


필터가  변경되면 발생하는 이벤트로 필터변경시에 적용될 기능을 코딩하면된다. 

아래 코드는 필터가 변경이 되면 상태 row에 조회건수를 표시를 해준다.


uGrid.AfterRowFilterChanged += new AfterRowFilterChangedEventHandler(ugLog_AfterRowFilterChanged);

protected void ugLog_AfterRowFilterChanged(object sender, AfterRowFilterChangedEventArgs e)
{
      try
      {
          string strSummaryText = string.Format("'Total Cnt:{0},Filter Cnt : {1}'", e.Rows.Count, e.Rows.FilteredInRowCount);
          //uGrid.DisplayLayout.Bands[0].Summaries[0].Formula = strSummaryText;
          uGrid.DisplayLayout.Bands[0].Summaries[0].DisplayFormat = strSummaryText;
      }
      catch (System.Exception ex)
      {
          MessageBox.Show(ex.Message);
      }
}

---------------------------------------------------------------------------------------------------------



DoubleClickCell event
cell 더블클릭하면 발생하는 이벤트.
cell별로 하는 일이 다르다면, 분기를 태워야됨.



uGridLocal.DoubleClickCell += new DoubleClickCellEventHandler(uGridLocal_DoubleClickCell);

protected void uGridLocal_DoubleClickCell(object sender, DoubleClickCellEventArgs e)
{
      try
      {
          if (e.Cell.Column.Key.Equals("execute"))
          {
              string path = uGridLocal.ActiveRow.GetCellValue("path").ToString();
              if(path.Contains(".dwg"))
                  Process.Start(path);
          }
      }
      catch(Exception ex)
      {
          MessageBox.Show(ex.Message);
      }
}



반응형

댓글