! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

column내 수식 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 column내 수식

페이지 정보

작성자 tomleee 작성일 2024-01-11 08:47 조회 66회 댓글 0건
제품 버전 : 16.2.20231.0

본문


위의 사진과 같이 cost column 에 숫자를 입력하고 엔터를 침과 동시에 Qty column 에 있는 수를 곱한 값을 E/Cost(빨간박스) column 에 띄우길 원합니다.

가능한 방법이 있을까요?

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

2 답변

WinForms윈폼 Re: column내 수식

추천2 이 글을 추천하셨습니다 비추천0 채택채택

페이지 정보

작성자 쌍둥이아빠 작성일 2024-01-11 22:01 댓글 0건

본문

       private void sprGrid_Change(object sender, FarPoint.Win.Spread.ChangeEventArgs e)

        {

            string formulaString;


            int Row_IDX;

            int Col_IDX;


            Row_IDX = sprGrid.Sheets[0].ActiveRowIndex;     // 현재 Row


            // Cost Col

            if (sprGrid.ActiveSheet.ActiveColumnIndex = 3)

            {

                formulaString = "D" + (Row_IDX + 1) + " * F" + (Row_IDX + 1);    // 포뮬라


                sprGrid.Sheets[0].SetFormula(Row_IDX, 6, formulaString);                                                                        // 금액

            }

        }


Change 이벤트를 이용해 보세요...

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: column내 수식

추천1 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS써니 작성일 2024-01-16 12:00 댓글 0건

본문

tomleee 님, 안녕하세요.

메시어스입니다.


쌍둥이아빠 님께서 공유해주신 내용과 같이 Change 이벤트와 Formula 속성을 사용하여 두 셀의 값의 곱을 계산하는 수식을 타겟 셀에 입력하실 수 있습니다.


또는 다음과 같이 단순히 두 값의 곱을 계산하에 타겟 셀에 입력할 수 있습니다.

두 방식 모두 Change 이벤트를 활용합니다.

fpSpread1.Change += FpSpread1_Change;

private void FpSpread1_Change(object sender, FarPoint.Win.Spread.ChangeEventArgs e)
{
    if (e.Column == costColumn)
    {
        if (fpSpread1.ActiveSheet.Cells[e.Row, qtyColumn].Value != null)
        {
            if (fpSpread1.ActiveSheet.Cells[e.Row, costColumn].Value != null)
            {
                double qty = (double)(fpSpread1.ActiveSheet.Cells[e.Row, qtyColumn].Value);
                double cost = (double)(fpSpread1.ActiveSheet.Cells[e.Row, costColumn].Value);
                fpSpread1.ActiveSheet.Cells[e.Row, targetColumn].Value = qty * cost;
            }
            else
            {
                fpSpread1.ActiveSheet.Cells[e.Row, targetColumn].Value = null;
            }
        }
    }
}


또는 Change 이벤트를 사용하지 않고, 컬럼에 수식만 적용하여 사용하는 방법도 있습니다. (단, "숫자*빈 셀"의 결과는 0으로 보여집니다.)

fpSpread1.ActiveSheet.Columns[6].Formula = "D1*F1";


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.