Telerik Forums
UI for ASP.NET MVC Forum
1 answer
135 views

I have a treeview which currently shows a hierarchy of items that are different at each level.  The TreeView is configured to use checkboxes and to check the children whenever the parent is checked.  An example (without checkboxes) of the item types is illustrated as follows:

TypeA
    TypeB
    TypeB
    TypeB
        TypeC
        TypeC
    TypeB
TypeA
    TypeB

Since the items vary by level, I want to write some javascript that retrieves the corresponding values by level.  That is, I want to retrieve the values of all checked items at level 1, or all checked items at level 2, or all checked items for level 3.  That said, I modified the code, provided by the example at: http://www.telerik.com/blogs/how-to-get-the-checked-items-from-a-treeview-with-checkboxes which recursively loops through all nodes in the treeview.  Basically, the code examines each node and evaluates the 'checked' property to determine if the node has been checked.  Unfortunately, the 'checked' property is undefined when only a subset of the descendants are checked.  It would be nice if the node had a property indicating that at least one descendant was checked.  I know that I can examine the 'hasChildren' property and recursively loop to determine if any descendant is checked, but I'm hoping that someone has a better approach.  In lieu of a simple property, what is the most efficient way to determine if a node has any 'checked' descendants? 

Thanks.

Mike

Nencho
Telerik team
 answered on 05 Jan 2016
1 answer
149 views

I am just starting to learn the MVC charts, and I am having a problem with the x-axis labels.  I have not found the right setting to correct it.  I have a line chart that may or may not go below zero on the Y-axis.  The date labels are showing under $0, where they should always be at the bottom of the chart.

Here is the view:

@(Html.Kendo().Chart<tpe2.db.CFForecastData>()
.Name("chart")
.Title("Weekly Cash Flow")
.Legend(legend => legend.Position(ChartLegendPosition.Bottom))
.Tooltip(tooltip => tooltip.Visible(true))
.DataSource(ds => ds.Read(read => read.Action("CFForecastData_Read", "Chart")))
.Series(series => {
series.Line(a => a.CashBalance).Name("Cash Balance").Color("Blue").Markers(false);
series.Line(a => a.RequiredBalance).Name("Required Balance").Color("Yellow").Markers(false);
series.Line(a => a.ZeroLine).Name("Zero").Color("Red").Markers(false);
series.Line(a => a.Receipts).Name("Receipts").Color("Green").Markers(false);
series.Line(a => a.Disbursements).Name("Disbursements").Color("Black").Markers(false);
})
.CategoryAxis(axis => axis
.Categories(model => model.ReportDate)
//.AxisCrossingValue(-200000)
)
.Pannable(pannable => pannable
.Lock(ChartAxisLock.Y)
)
.Zoomable(zoomable => zoomable
.Mousewheel(mousewheel => mousewheel.Lock(ChartAxisLock.Y))
.Selection(selection => selection.Lock(ChartAxisLock.Y))
)
)

 

Thanks!

Mark

Iliana Dyankova
Telerik team
 answered on 05 Jan 2016
2 answers
620 views

I found multiple examples where Master/Detail is nested in the Master Grid using hierarchy.  I wanted to have two separate grids.  I am using Telerik ASP.NET MVC 6 which uses Kendo UI MVC Grid.  Do you have example code to implement this?

 

Thanks

 
Gabriel
Top achievements
Rank 1
 answered on 04 Jan 2016
1 answer
867 views

I have a inline grid and 'sumBudgetAmount' value in a page. When user clicks edit and updates 'IncreaseByAmt' in the grid, I have to check the sum of all the records of 'IncreaseByAmt' in the grid and see it is not greater than 'sumBudgetAmount' value. I want to do client side validation on gridsave event.

I can not do server side validation as I am not updating to the database when user clicks update button. It is a batch editing where user clicks save and then I am saving all the values to the database. So I can use only client side validation.

 

<span id="sumBudgetAmt"> @(Model.SumBudgetAmount) </span>
 
@(Html.Kendo().Grid<BHEBS.Areas.Budget.Models.ContractBudgetModel.ServiceDetailReallocation>()
            .Name("serviceDetailReallocationGrid")
            .Columns(columns =>
            {
                columns.Bound(p => p.ServiceDetailId).Hidden(true);             
                columns.Bound(p => p.IncreaseByAmt).EditorTemplateName("Currency").Format("{0:c}");
                columns.Command(command =>
                {
                    command.Edit().HtmlAttributes(new { @class = "btn-primary" });
                }).Width(230);
            })
            .Events(e => e.Save("onServiceDetailReallocationGridSave"))                
            .DataSource(dataSource => dataSource.Ajax().ServerOperation(false).Read(read => read.Action("ServiceDetailReallocation_Read", "ContractBudget"))
            .Model(model =>
            {
                model.Id(p => p.ServiceDetailId);
            })
            .Update(update => update.Action("Update_ServiceDetailReallocation", "ContractBudget"))
            .Events(e => e.Error(@<text> function(args) {var gridName = 'serviceDetailReallocationGrid';errorGrid(args, gridName);  }  </text>))
            ))

 

 

Thanks,

Veena

Boyan Dimitrov
Telerik team
 answered on 04 Jan 2016
1 answer
168 views

I have a bar chart (see attached), that I would like to display only the top 10 categories in order by alarm count.  I cannot see a way to only display top N number of categories. This this possible with the bar chart? 

Here is the code.

             

01.@(Html.Kendo().Chart<Swisslog.DC.Entities.AlarmActivity>()
02.    .Name("alarmsTop10Last30")
03.    .Title(title => title.Text("TOP 10 ALARMS THE LAST 7 DAYS").Font("bold 30px Arial,Helvetica,sans-serif").Color("#808080").Align(ChartTextAlignment.Left))
04.    .Legend(legend => legend
05.        .Visible(false)
06.        .Position(ChartLegendPosition.Top)
07.        .Font("bold 18px Arial,Helvetica,sans-serif").Color("#808080")
08.    )
09.    .AutoBind(true)
10.    .DataSource(ds => ds
11.        .Read(read => read.Action("AlarmsKPIHistory", "Home"))
12.        .Group(group => group.Add(model => model.AlarmCode))
13.    //.Aggregates(agg => agg.Add(model => model.AlarmID).Count())
14.    //.Sort(sort => sort.Add(model => model.AlarmCode).Ascending())
15.    //.PageSize(10)
16.    )
17.    .Series(series =>
18.    {
19.        //series.Bar(model => model.AlarmID).Name("Alarm Description").Aggregate(ChartSeriesAggregate.Count).Color("#ED7D31");
20.        //series.Bar(model => model.AlarmID).Name("#= group.value #").Aggregate(ChartSeriesAggregate.Count).Color("#ED7D31").Stack("AlarmDescription");
21.        //series.Bar(model => model).Name("").Aggregate(ChartSeriesAggregate.Count).Color("#ED7D31");
22.        series.Bar(model => model.AlarmID).Name("1").Aggregate(ChartSeriesAggregate.Count).CategoryField("AlarmDescription");
23.    })
24.    .CategoryAxis(axis =>
25.    {
26.        //.Categories(model => model.AlarmDateTime)
27.        //.Title(title => title.Text("Date").Font("bold 18px Arial,Helvetica,sans-serif").Color("#000000"))
28.        axis.Labels(labels => labels.Rotation(0).Font("bold 18px Arial,Helvetica,sans-serif").Color("#808080"));
29.        axis.MajorGridLines(lines => lines.Visible(false));
30.        axis.Axis.BaseUnit = ChartAxisBaseUnit.Fit;
31.        axis.Axis.MaxDateGroups = 5;
32.        axis.Axis.Type = ChartCategoryAxisType.Category;
33.    })
34.    .ValueAxis(axis => axis
35.        .Numeric()
36.        .Labels(labels => labels.Format("{0:N0}").Font("bold 18px Arial,Helvetica,sans-serif").Color("#808080"))
37.        .Title(title => title.Text("Alarm Count").Font("bold 18px Arial,Helvetica,sans-serif").Color("#000000"))
38.        .Max(100)
39.        .MajorUnit(10)
40.        .MajorGridLines(major => major.Visible(true))
41.        .Line(line => line.Visible(false))
42.    )
43.    .Tooltip(tooltip => tooltip
44.        .Visible(true)
45.        .Format("{0:N0}")
46.    )
47.    .Events(events => events
48.        .DataBound("onDataBound_alarmsResponds1")
49.    )
50.)


 

 

 

Iliana Dyankova
Telerik team
 answered on 04 Jan 2016
1 answer
650 views

Hi,

 We use a framework that wrap every ajax response. Instead to have this :

AggregateResults: null
Data: [{Name: "name1", Title: "M.",},…]
Errors: null
Total: 4

 the response from controller method are :

error: null
result: {data: [{name: "name1", tile: "M."},…], total: 4,…}
success: true
unAuthorizedRequest: false

 

I would like to use a javascript function so that  can manipulate the ajax response and extract the data before passing it to the Grid.

Is there a way to achieve that? Thank you.

Rosen
Telerik team
 answered on 04 Jan 2016
1 answer
5.1K+ views

I'm trying to create a string using the text values in the multi select list using Jquery but I'm having trouble trying to get the selected value's text fields.

 

I can see that theres a value function which returns the ID's of the list (i.e. DataValueField?) but not the text fields (i.e. DataTextField?).

I've had a look at the datasource to see if i can iterate through that instead and find the text values that i need but as im virtualising the multi select list, im only getting a limited subset of the items i need.

 

Is there any way to get the selected items using Jquery? It seems like such an easy task to do as the objects are already displayed on screen but i cannot figure out how to access them.

 

Thanks

Georgi Krustev
Telerik team
 answered on 04 Jan 2016
3 answers
1.1K+ views
I read this Page.
( http://stackoverflow.com/questions/1151987/can-i-set-an-unlimited-length-for-maxjsonlength-in-web-config
 http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/helpers/autocomplete/overview)

My Test Source: 
vs2012 , AdventureWorks2012Db, Person Table, Ef5,  KendoUIMvcApplication.
 
@(Html.Kendo().AutoComplete()
   .Name("test") //The name of the autocomplete is mandatory. It specifies the "id" attribute of the widget.
   .DataTextField("FirstName") //Specifies which property of the Product to be used by the autocomplete.))
   .BindTo(Model)   //Pass the list of Products to the autocomplete.
   .Filter("contains") //Define the type of the filter, which autocomplete will use.
 )



Georgi Krustev
Telerik team
 answered on 04 Jan 2016
1 answer
150 views

Hi

I am working through some Telerik sample code and having some errors. I am trying to understand how it works in order to troubleshoot the problem.

Specifically, I am using a ComboBox widget with an id value (let's call it comboID) which is set in the .Name property.

 

 Now this code from the sample:

$(comboID).each(function () {

eval($(this).children("script").last().html());

});

I think adds a new combo box. What does the ("script") keyword signify?

Now I need to find the ComboBox and update the selected item. 


$(comboID).data().kendoComboBox.value(status);

But get undefined for the kendoComboBox. I'm not sure what this line does. I assume we are looking into the DOM but what is the type that is returned?

Thanks for your help. Just trying to understand.

Nencho
Telerik team
 answered on 04 Jan 2016
1 answer
139 views

I have a dropdown inside a grid which currently takes 100% width of the column. Because of number of columns, width of this column is very less compared to the length of each item I have for the dropdown.

I want to make the options list of the dropdown to display full text in single line with out increasing the width of the column. I am using white-space:nowrap to get the text in online but the options list gets  scroll bar. Is there a way that I can increase its width to 100%?

Iliana Dyankova
Telerik team
 answered on 04 Jan 2016
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
Upload
ComboBox
MultiSelect
ListView
Window
TabStrip
Menu
Installer and VS Extensions
Spreadsheet
AutoComplete
TreeList
Gantt
PanelBar
NumericTextBox
Filter
ToolTip
Map
Diagram
Button
PivotGrid
Form
ListBox
Splitter
Application
FileManager
Sortable
Calendar
View
MaskedTextBox
PDFViewer
TextBox
Toolbar
MultiColumnComboBox
Dialog
DropDownTree
Checkbox
Slider
Switch
Notification
ListView (Mobile)
Pager
Accessibility
ColorPicker
DateRangePicker
Wizard
Security
Styling
Chat
MediaPlayer
TileLayout
DateInput
Drawer
SplitView
Template
Barcode
ButtonGroup (Mobile)
Drawer (Mobile)
ImageEditor
RadioGroup
Sparkline
Stepper
TabStrip (Mobile)
GridLayout
Badge
LinearGauge
ModalView
ResponsivePanel
TextArea
Breadcrumb
ExpansionPanel
Licensing
Rating
ScrollView
ButtonGroup
CheckBoxGroup
NavBar
ProgressBar
QRCode
RadioButton
Scroller
Timeline
TreeMap
TaskBoard
OrgChart
Captcha
ActionSheet
Signature
DateTimePicker
AppBar
BottomNavigation
Card
FloatingActionButton
Localization
MultiViewCalendar
PopOver (Mobile)
Ripple
ScrollView (Mobile)
Switch (Mobile)
PivotGridV2
FlatColorPicker
ColorPalette
DropDownButton
AIPrompt
PropertyGrid
ActionSheet (Mobile)
BulletGraph
Button (Mobile)
Collapsible
Loader
CircularGauge
SkeletonContainer
Popover
HeatMap
Avatar
ColorGradient
CircularProgressBar
SplitButton
StackLayout
TimeDurationPicker
Chip
ChipList
DockManager
ToggleButton
Sankey
OTPInput
ChartWizard
SpeechToTextButton
InlineAIPrompt
TimePicker
StockChart
RadialGauge
ContextMenu
ArcGauge
AICodingAssistant
+? more
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?