본문 바로가기
웹 프로그래밍/기타

[DevExpress] datagrid 데이터 소스 변경하기

ASP.NET Core 3.1의 컨트롤 기준

 

데브익스프레스의 DataGrid의 표기를 새로고침하지 않고 데이터소스만 변경하는 법,

DataSourceOptions 에 ReshapeOnPush를 true해주고

새로고침할 부분에 dxDataGrid('refresh') 해준다

 

참고

더보기

Reshape에 Push는 데브익스프레스 메서드를 보니 데이터를 추가할 때 Push라 하고 ReshapeOnPush가 true면

추가됐을 때 자동으로 리프레시하는 기능인 것 같은데 여기선 필요없을 것 같기도 하다.

 

JavaScript의 데이터를 파라미터로 넘기는 법

JavaScript로 변수 선언하고 반환하는 메서드를 만든 뒤

JS클래스를 이용해 데이터를 넘겨준다.

 

참고

더보기

JS클래스는 오직 데브익스프레스를 위한 클래스인 것 같다. 일반적인 상황에선 받은 매개변수만 뱉는다.

 

 

 

 

SelectedChanged 스크립트 메서드

<script>
    var data01 = "";
    var data02 = "";
    var data03 = "";
    
    function SelectedChanged(e) {
    	data01 = e.data("value01");
    	data02 = e.data("value02");
    	data03 = e.data("value03");

		$('#grid_main').dxDataGrid("refresh");
    }
</script>

 

 

 

 

데이터 그리드 선언 부분

<script>
    function getData01 () {
    	return data01;
    }
    
    function getData02 () { 
    	return data02;
    }
    
    function getData03 () {
    	return data03;
    }
</script>


@( HTML.DevExtreme()
        .DataGrid<CustomVO>()
        .ID("grid_main")
        .기타 속성들
        .DataSource( s => s.Mvc()
                            .LoadAction("GetData")
                            .LoadParams(new { data01 = new JS("getData01"),
                                              data02 = new JS("getData02"),
                                              data03 = new JS("getData03")
                                             })
        .DataSOurceOptions( o => o.ReshapeOnPush(true))
        .기타 속성들
)