2017-02-13 3 views
0

질문의 짧은 버전은 모델에 날짜 필드 항목의 특정 부분 만 표시하는 방법이 있습니까?날짜 항목의 개별 부분을 나열하는 방법

예 : 항목으로 02/13/2017을 입력하지만 별도의 페이지에 해당 날짜 또는 월 또는 연도 만보고 싶습니까? 모든 것이 아닙니다.

더 긴 설명. 내가 함께 국면에 다음 코드를 사용하고

타임 라인 만들기에 Google charts script (see previous question) A :

function showChart(widget){ 
    google.charts.load('current', {'packages':['timeline']}); 
    function drawChart() { 
     var container = widget.getElement(); 
     var chart = new google.visualization.Timeline(container); 
     var dataTable = new google.visualization.DataTable(); 
     dataTable.addColumn({ type: 'string', id: 'President' }); 
     dataTable.addColumn({ type: 'date', id: 'Start' }); 
     dataTable.addColumn({ type: 'date', id: 'End' }); 
     dataTable.addRows([ 
      [ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ], 
      [ 'Adams',  new Date(1797, 2, 4), new Date(1801, 2, 4) ], 
      [ 'Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]); 
     chart.draw(dataTable); 
    } 
    google.charts.setOnLoadCallback(drawChart); 
} 

을 나는 내 모델로부터 데이터 행의 레이블을 대체 할 수있는 변수를 정의 추가/경우 . 예 : RoomName

function showChart(widget){ 
     google.charts.load('current', {'packages':['timeline']}); 
     function drawChart() { 
      var container = widget.getElement(); 
      var chart = new google.visualization.Timeline(container); 
      var dataTable = new google.visualization.DataTable(); 
      var RoomName = app.datasources.TestModel.item.RoomName; 
      dataTable.addColumn({ type: 'string', id: 'President' }); 
      dataTable.addColumn({ type: 'date', id: 'Start' }); 
      dataTable.addColumn({ type: 'date', id: 'End' }); 
      dataTable.addRows([ 
       [ 'RoomName', new Date(1789, 3, 30), new Date(1797, 2, 4) ], 
       [ 'Adams',  new Date(1797, 2, 4), new Date(1801, 2, 4) ], 
       [ 'Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]); 
      chart.draw(dataTable); 
     } 
     google.charts.setOnLoadCallback(drawChart); 
    } 

나는 그러나 새로운 날짜 옵션은 년, 월, 일 예 위 (3 개 변수로 분리했다,에서 확인하여 동일한 작업을 수행하고 날짜를 체크 아웃하고 싶습니다 : 새로운 날짜 (1789, 3, 30) 그래서 app.datasources.TestModel.item.CheckIn을 사용할 수 없습니다.

app make가 app.datasources.TestModel.item.CheckIn으로 말할 수있는 방법이 있나요?), app.datasources.TestModel.item.CheckIn (월), app.datasources.TestModel.item.CheckIn (일)?

도움을 주셔서 감사합니다.

+0

, 나는 날짜 변압기를 사용하는 것이 좋습니다 것입니다 단지뿐만 아니라 https://developers.google.com/appmaker/scripting/api 작동/transformers # formatDate, 스크립트를 사용하여 값을 설정하는 경우 ... 열 설명에 세 번째 속성을 추가 할 수 있습니다 - pattern (https://developers.google.com/chart/interactive/docs/reference#DataTable_addColumn) –

답변

1

당신이 모델의 날짜를 저장하는 경우, 당신은 date.getYear()+1900, date.getMonth()+1date.getDate()

와 자바 스크립트를 사용하여 구성 요소에 날짜를 분할 할 수 있지만, 그래서 차트 API에서 허용하는 날짜가해야 할 이유가 없다 정규 날짜가 특정 형식으로 표시되었다고해서 그것이 동일해야한다는 것을 의미하지는 않습니다. startDateendDate이 모델에서 온

dataTable.addRows([ 
       [ 'RoomName', startDate, endDate ], 

는 바인딩을 사용하는 경우

+0

토니 감사합니다! –

+0

한 가지 더 질문 : startDate 및 endDate 옵션의 경우 필터를 사용하여 Room1의 startDate, Room2의 startDate 등을 표시 할 수 있습니까? 원래는 새로운 데이터 소스를 만들고 RoomName을 필터링하기 위해 쿼리를 사용했지만 그 다음에 startDate/endDate의 데이터 소스가 HTML 위젯과 다르기 때문에 작동하지 않는다는 것을 깨달았습니다. 말이 돼? –