|
<SfDashboardLayout @ref="dashboard" ID="dashboard" CellSpacing="@(new double[]{10 ,10 })" ShowGridLines="true" Columns=@columns>
<DashboardLayoutEvents Created="created"></DashboardLayoutEvents>
<DashboardLayoutPanels>
<DashboardLayoutPanel>
<ContentTemplate><div>0</div></ContentTemplate>
</DashboardLayoutPanel>
<DashboardLayoutPanel SizeX=2 SizeY=2 Col=1>
<ContentTemplate><div>1</div></ContentTemplate>
</DashboardLayoutPanel>
<DashboardLayoutPanel SizeY=2 Col=3>
<ContentTemplate><div>2</div></ContentTemplate>
</DashboardLayoutPanel>
<DashboardLayoutPanel Row=1>
<ContentTemplate><div>3</div></ContentTemplate>
</DashboardLayoutPanel>
</DashboardLayoutPanels>
</SfDashboardLayout>
@code {
[Inject]
public IJSRuntime JSRuntime { get; set; }
SfDashboardLayout dashboard;
public int columns = 8;
public void created()
{
JSRuntime.InvokeAsync<int>("dashboard");
}
}
<script>
function dashboard() {
displayWindowSize();
window.addEventListener("resize", displayWindowSize);
}
function displayWindowSize() {
var dashboard = document.getElementById("dashboard").ej2_instances[0];
if (window.innerWidth < 1980 && window.innerWidth > 900) {
dashboard.columns = 8;
}
else if (window.innerWidth > 750 && window.innerWidth < 900) {
dashboard.columns = 4;
}
else if (window.innerWidth > 600 && window.innerWidth < 750) {
dashboard.columns = 2;
}
else {
dashboard.columns = 8;
}
dashboard.refresh();
}
</script> |
|
<script>
function dashboard() {
displayWindowSize();
window.addEventListener("resize", displayWindowSize);
}
function displayWindowSize() {
var dashboard = document.getElementById("dashboard").ej2_instances[0];
if (window.innerWidth < 1980 && window.innerWidth > 900) {
dashboard.columns = 8;
}
else if (window.innerWidth > 750 && window.innerWidth < 900) {
dashboard.columns = 4;
}
else if (window.innerWidth > 600 && window.innerWidth < 750) {
dashboard.columns = 2;
dashboard.cellAspectRatio = 3;
}
else if (window.innerWidth < 600) {
dashboard.cellAspectRatio = 3;
}
else {
dashboard.columns = 8;
}
dashboard.refresh();
}
</script> |
|
<SfDashboardLayout @ref="dashboard" ID="dashboard" CellSpacing="@(new double[] { 10, 10 })" CellAspectRatio="@aspectratio" ShowGridLines="true" Columns=@columns>
<DashboardLayoutEvents Created="created"></DashboardLayoutEvents>
</DashboardLayoutPanels>
</SfDashboardLayout>
public void created()
{
jsRuntime.InvokeAsync<string>("dashboard", new object[] { DotNetObjectReference.Create<object>(this) });
}
[JSInvokable]
public void CSCallBackMethod(int col, int aspectratio)
{
// update the column and cell aspect ratio
this.columns = col;
this.aspectratio = aspectratio;
this.StateHasChanged();
}
[Host.Cshtml]
<script>
window.dashboard = (args) => {
displayWindowSize(args);
window.addEventListener("resize", displayWindowSize.bind(this, args));
};
function displayWindowSize(args) {
if (window.innerWidth < 1980 && window.innerWidth > 1300) {
var col = 6;
var aspectratio = 2;
// call the method from client to server side.
args.invokeMethodAsync('CSCallBackMethod', col, aspectratio);
}
else if (window.innerWidth > 750 && window.innerWidth <= 1300) {
var col = 4;
var aspectratio = 2;
args.invokeMethodAsync('CSCallBackMethod', col, aspectratio);
}
else if (window.innerWidth > 600 && window.innerWidth <= 750) {
var col = 2;
var aspectratio = 2;
args.invokeMethodAsync('CSCallBackMethod', col, aspectratio);
}
else {
var col = 6;
var aspectratio = 3;
args.invokeMethodAsync('CSCallBackMethod', col, aspectratio);
}
}
</script> |