I use Treegrid
<ejs-treegrid id="TreeGrid" locale="pl-PL" enableAltRow="true" enableCollapseAll="true" enableHover="true"
idMapping="AccId" parentIdMapping="ParId"
treeColumnIndex="0"
toolbar="@(new List<string>() {"ExpandAll","CollapseAll","Search"})">
<e-data-manager url="@Url.Action("UrlDataSource","Home")" adaptor="UrlAdaptor" offline="true"></e-data-manager>
<e-treegrid-columns>
<e-treegrid-column field="Numer" headerText="Numer" textAlign="Left" width="120"></e-treegrid-column>
<e-treegrid-column field="Nazwa" minWidth="200" headerText="Nazwa"></e-treegrid-column>
<e-treegrid-column field="Nazwa2" headerText="Nazwa 2"></e-treegrid-column>
<e-treegrid-column field="Wn" headerText="Wn" format="N2" width="110" textAlign="Right"></e-treegrid-column>
<e-treegrid-column field="Ma" headerText="Ma" format="N2" width="110" textAlign="Right"></e-treegrid-column>
<e-treegrid-column field="OWn" headerText="OWn" format="N2" width="110" textAlign="Right"></e-treegrid-column>
<e-treegrid-column field="OMa" headerText="OMa" format="N2" width="110" textAlign="Right"></e-treegrid-column>
<e-treegrid-column field="OTotWn" headerText="Obr. n. Wn" format="N2" width="110" textAlign="Right"></e-treegrid-column>
<e-treegrid-column field="OTotMa" headerText="Obr. n. Ma" format="N2" width="110" textAlign="Right"></e-treegrid-column>
<e-treegrid-column field="SWn" headerText="SWn" format="N2" width="110" textAlign="Right"></e-treegrid-column>
<e-treegrid-column field="SMa" headerText="SMa" format="N2" width="110" textAlign="Right"></e-treegrid-column>
<e-treegrid-column field="SPer" headerText="Pldo" format="N2" width="110" textAlign="Right"></e-treegrid-column>
</e-treegrid-columns>
</ejs-treegrid>
1. Somehow you can refresh the data by clicking the button on the page?
2 Is it possible to use aggregation for counting sums only for rows form level 1
1. When I use the refresh (), refreshHeader (), refreshColumns () methods, DataManager does not download data, if the rows were expanded they remain unchanged, the width of the columns is not set to the default value.
I would need a method that will reset the treegrid to the initial settings and reload the data.
Update
refresh (), refreshHeader (), refreshColumns () works if we use offline datamanager false,
but how to clear input search ?
2 I have set showChildSummary as false but this does not solve the problem.
I solved it this way
function customAggregateFn(data, i) {
var resSum = 0;
data.result.forEach(function (e) {
if (e.level == 0) {
resSum+=e[i.properties.field];
}
});
return resSum;
}
<ejs-button id="clear" content="Clear"></ejs-button>
<ejs-treegrid id="TreeGrid" dataSource="@ViewBag.data" treeColumnIndex="1"
allowFiltering="true" toolbar="@(new List<string>() { "Search" })">
<e-data-manager url="@Url.Action("DataSource","Home")" adaptor="UrlAdaptor" >
</e-data-manager>
----------
</ejs-treegrid>
<script>
document.getElementById('clear').addEventListener('click', () => {
var treegridObj = document.getElementsByClassName("e-treegrid")[0].ej2_instances[0];
//treegrid instance
treegridObj.searchSettings.key = ''; // emptying the searched value
treegridObj.refresh();
});
</script> |