Hello Telerik Team,
Let's assume there is a xlsx file and I want to load this file to Spreadheet control.
Controller code:
var workbook = Workbook.Load(path);
var workbookJson = workbook.ToJson();
var model = new ExcelViewerViewModel()
{
Name = "Test",
Sheets = JsonConvert.DeserializeObject<IEnumerable<SpreadsheetSheet>>(workbookJson), <--- the problem to deserialize sheets
};
return PartialView("~/Views/Shared/_ExcelViewer.cshtml", model);
The View code:
@(Html.Kendo().Spreadsheet()
.Name("excelViewer")
.Toolbar(false)
.BindTo(Model.Sheets))
So the question is how to get IEnumerable<SpreadsheetSheet>> type from workbook?
Thank You
Hello,
I noticed today that the status of my trial application is only 'partially installed'. I upgraded it to a newer version during my trail period.
When I choose to repair the installation, the status remain. (please refer to attached a screenshot from my Telerik Control Panel).
Question - can I safely remove the product, then re-install without losing work ?
Thanks,
Mike James
I am trying to apply the filter for a column that has null values in the database. When I try to filter the column by some value, it throws following error. Please suggest the solution to handle columns those have null values in the database
An exception of type 'System.NullReferenceException' occurred in System.Core.dll but was not handled in user code
Additional information: Object reference not set to an instance of an object
Anyone know if offlineStorage would let users scroll through previous pages that were loaded via virtual scrolling? Can they come back to a page that was closed and see their cached data? Is there a feature that would allow this?
I created a grid with detail rows. Detais rows may have unsaved data. In that case I need to stop the collapse event. My code is not working:
var detailGrid = $("#grid-details").kendoGrid({
detailTemplate: getDetailTemplate,
detailInit:InitFunc,
detailCollapse: function (e) {
if (.....here I check for changes ) {
e.preventDefault();
return false;
}
},
......});
I got to e.preventDefault(), but the row is collapsed anyway
I was wondering how to hide/show columns based on the values of aggregate values in footer. For example:
@(Html.Kendo().Grid<Payroll.Models.PayrollAuthorizationByDepartmentModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(dataSource => dataSource.EmployeeId).Title("Emp. No");
columns.Bound(dataSource => dataSource.EmployeeNameForDisplay).Title("Emp. Name");
columns.Bound(e => e.RegHours).Title("Reg.")
.ClientFooterTemplate("<div style='text-align: right'> \\#= kendo.toString(sum, '0.00')\\# </div>")
.ClientTemplate("\\#= kendo.toString(RegHours, '0.00')\\#");
columns.Bound(e => e.OTHours).Title("OverTime 1.5")
.ClientFooterTemplate("<div style='text-align: right'> \\#= kendo.toString(sum, '0.00')\\# </div>")
.ClientTemplate("\\#= (OTHours==0)? '':kendo.toString(OTHours, '0.00')\\#");
})
.DataSource(dataSource => dataSource
.Ajax()
.Aggregates(aggregates =>
{
aggregates.Add(e => e.RegHours).Sum();
aggregates.Add(e => e.OTHours).Sum();
})
.Read(read => read.Action("AuthorizationByEmployee_Read", "Authorize", new { locationId = @ViewBag.LocationId, departmentId = "#=DepartmentId#", startDate = @ViewBag.StartDate, endDate = @ViewBag.EndDate }))
.ServerOperation(false)
.Sort(sort => sort.Add("EmployeeFirstName").Ascending())
)
.Sortable()
.Events(events => events.DataBound("onDataBoundOfChildGrid"))
.ToClientTemplate()
)
How to hide the column if the sum is 0?
Thanks!
I am having some trouble with a simple bar chart.
Here is my model
public
class
PrivateReportCardCumulativeInvestments
{
public
int
FUND_INT {
get
;
set
; }
public
int
YearCategory {
get
;
set
; }
public
decimal
Commitments {
get
;
set
; }
public
decimal
Distributions {
get
;
set
; }
public
decimal
Draw_Down {
get
;
set
; }
public
decimal
Fees {
get
;
set
; }
public
PrivateReportCardCumulativeInvestments()
{
}
}
And here is my Chart.
@(Html.Kendo().Chart<
BetaSMTRApp.Business.PrivateReportCardCumulativeInvestments
>()
.Name("ChartInvestmentCumulations_" + item.FUND_INT.ToString())
.Title("Cumulative Investments")
.DataSource(dataSource => dataSource
.Read(read => read.Action("GetCumulativeInvestments", "PrivateReportCard", new { fundInt = item.FUND_INT }))
)
.Series(series =>
{
series.Column(model => model.Commitments).Name("Commitments");
series.Column(model => model.Distributions).Name("Distributions");
series.Column(model => model.Draw_Down).Name("DrawDowns");
series.Column(model => model.Fees).Name("Fees");
})
.Legend(legend => legend
.Position(ChartLegendPosition.Bottom)
)
.ValueAxis(axis => axis.Numeric()
.Labels(labels => labels
.Format("${0}")
.Skip(2)
.Step(2)
)
)
.CategoryAxis(axis => axis
.Categories(model => model.YearCategory)
.Labels(labels => labels.Format("yyyy"))
)
)
Looking for the following result
Vertical Axis (value of the following)... model.Commitments, model.Distributions, model.DrawDown, Model.Fees (values are between 0 and 3 as a decimal with 1 precision.
Horizontal Axis (model.YearCategory)
Bars -- Commitment, Distribution, DrawDown and Fees.
Example of data
YearCategory Commitments Distributions Draw_Down Fees
2004 71.5 36.5 0 0.5
2005 35.8 50.6 6.4 2
2006 0 90.9 28 4
2007 0 111.7 43.2 5.7
2008 0 110.4 50.5 8.1
2009 0 113 59.3 9.8
2010 0 113.7 81.2 11.2
2011 0 111 88.3 12.7
2012 0 74.6 146.4 14
2013 0 76.5 153.6 15.1
2014 0 41.9 252 16.3
Any ideas of what i am missing?
Thanks
Corey