Telerik Forums
UI for ASP.NET MVC Forum
2 answers
159 views
Hello,

I'm trying to migrate a panel bar from MVC extensions to Kendo. When the Panel bar loads, I expand specific items via a initialization script.
What I find is that if I call

var panelbar = $("#PanelBar").data("kendoPanelBar");

in $(document).ready() as adviced as in

http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/panelbar, I get a null object.
This call however succeeds to get the correct object if called later.
Since, onLoad() is removed in Kendo, is there any other way I can initialize my Panelbar ?

Kind Regards

Achilles
Achilles
Top achievements
Rank 1
 answered on 17 Jul 2013
1 answer
164 views
I have a grid with a change event. When the change event is invoked a redirect takes place towards another page.
I want to add a column with a checkbox which does not cause the change event to be fired. The other columns must still cause the change event to be fired.
How can this be done?

The same is valid for the listview. I have a listview with a client template and I need to show a checkbox which doesn't cause the change event to be fired.
Dimo
Telerik team
 answered on 17 Jul 2013
1 answer
402 views
Hi,
I couldn't find any example of how to attach datasource events such as requestStart, requestEnd, or error using the Mvc Grid Helper.  Can it be done?
Dimiter Madjarov
Telerik team
 answered on 17 Jul 2013
1 answer
2.0K+ views
Hi,

I'm almost done with the code from the subject. The tree expands already to the given ID, but unfortunately it does not select the node given by ID

Edit: Just to clarify, because I read a few threads regarding this issue - I don't get any error messages nor do I get 'undefined' for any variables. The node just doesn't get selected.

function expandAndSelectNode(id, treeViewName) {
    // get the Kendo TreeView widget by it's ID given by treeviewName
    var treeView = $(treeViewName).data('kendoTreeView');
     
    // find node with data-id = id
    var item = $(treeViewName).find("li[data-id='" + id + "']").find(".k-in");
     
    // expand all parent nodes
    $(item).parentsUntil('.k-treeview').filter('.k-item').each(
                function (index, element) {
                    $(treeViewName).data('kendoTreeView').expand($(this));
                }
            );
     
    // get DataSourceItem by given id
    var nodeDataItem = treeView.dataSource.get(id);
 
    //get node within treeview widget by uid
    var node = treeView.findByUid(nodeDataItem.uid);

    $(treeView).select(node);
    //treeView.select(".k-item:last");
}

I also tried $(treeView).select(item), since it should already point to the <span> item I want to select anyway. This didn't work.
Then I tried tried $(treeView).select(item.closest('.k-item')), since it points to the parent <li> element, but this didn't work either.
 The uncommented line (treeView.select(".k-item:last")) was just for testing and works.

I'm a little bit stuck and glad about any hints.

Daniel
Telerik team
 answered on 16 Jul 2013
1 answer
543 views
Hi,

I'am trying to create a dropdownlist with a guid as id : 

Dim dropDownListFor = _htmlHelper.Kendo().DropDownListFor(Of Integer)(_expression) _
                                                     .BindTo(New SelectList(_collectionValeur, "Id", "Name")) _
                                                     .HtmlAttributes(_attributsHtml)

Id is a Guid 
Name is a String

But I'm having the following error :

System.InvalidOperationException: Templates can be used only with field access, property access, single dimension array index, or single-parameter custom indexer expressions.

Any help please ?
Daniel
Telerik team
 answered on 15 Jul 2013
1 answer
121 views
I have a grid for a model Departments. Departments has a foreign key field ParentDepartmentKey. The foreign key field correctly generates a dropdown list with Departmens listed. However, if you add a new department, it is added to the grid, but the dropdown in the foreign key field is not updated and does not update.

Is it possible to have the foreign key field update when an item is added to the grid?
Vladimir Iliev
Telerik team
 answered on 15 Jul 2013
1 answer
1.7K+ views
In my attempts to right align, and apply a {0:N} format to the Sum on a ClientFooterTemplate  in MVC, I've got this far, but the format is not applied:

columns.Bound(e => e.BookValue).Title("Book Value ($)")
        .ClientFooterTemplate("<div class=aright>#=sum#</div>").Format("{0:N}")
It's right aligned now, but still the sum is showing 7 decimal places.

Should I be doing anything to the Aggregate instead of in the ClientFooterTemplate   ?                    

Ideas?           
Kiril Nikolov
Telerik team
 answered on 15 Jul 2013
4 answers
303 views
Hi,

I'm having an issue with the Kendo Grid, using the MVC extensions.

I have a foreign key column defined which displays perfectly when the grid is shown.  However, on edit, the dropdown (provided by a copy of the GridForeignKey.cshtml editor template) does not select the correct value for the record.  This is the case whether we're using InCell, InLine or Popup editing.

To clarify, the dropdown shows all the correct available values, but the default is selected instead of the value in the record.

ViewModels:
public class BranchesViewModel
{
    public IQueryable<BranchViewModel> Branches { get; set; }
    public IEnumerable<RegionViewModel> Regions { get; set; }
}
 
public class BranchViewModel
{
    [Editable(false, AllowInitialValue = true)]
    [Required]
    [Display(Name="Id")]
    [HiddenInput(DisplayValue = false)]
    public int BranchId { get; set; }
 
    [Display(Name="GL Code", Order=2)]
    [Required]
    public string GLCode { get; set; }
 
    [Display(Name="Region", Order=3)]
    [Required]
    [UIHint("RegionForeignKey")]
    public int RegionId { get; set; }
 
    [Display(Name="Branch Name", Order=1)]
    [Required]
    public string BranchName { get; set; }
}
 
public class RegionViewModel
{
    public int RegionId { get; set; }
    public string RegionName { get; set; }
}

Index View:
<h2>Branches</h2>
 
@(Html.Kendo().Grid<BranchViewModel>()
      .Name("Branch")
      .Columns(col =>
                   {
                       col.Bound(m => m.BranchName);
                       col.Bound(m => m.GLCode).Width(200);
                       col.ForeignKey(m => m.RegionId, Model.Regions, "RegionId", "RegionName").Width(180);
                       col.Command(cmd => { cmd.Edit(); cmd.Destroy(); }).Width(180);
                   })
      .ToolBar(toolBar => toolBar.Create().Text("New Branch"))
      .Editable(edit =>
                    {
                        edit.Mode(GridEditMode.InLine);
                        edit.DisplayDeleteConfirmation(true);
                    })
      .Sortable()
      .DataSource(dataSource => dataSource
        .Ajax()
        .Batch(true)
        .ServerOperation(false)
        .Events(events => events.Error("errorHandler"))
        .Model(model => model.Id(b => b.BranchId))
        .Read(read => read.Action("Branch_Read", "Branch"))
        .Create(create => create.Action("Branch_Create", "Branch"))
        .Update(update => update.Action("Branch_Update", "Branch"))       
        .Destroy(destroy => destroy.Action("Branch_Delete", "Branch"))
    )
)

RegionForeignKey Partial (in Views/Branch/EditorTemplates/):
Note: this is what I'm using now, however if I revert to the GridForeignKey editor template the behaviour is the same.
@model int
 
@(Html.Kendo().DropDownListFor(m => m)
    .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
)

Controller Actions:
public ActionResult Index()
{
    var model = new BranchesViewModel
                    {
                        Branches = _branchRepository.Get().Select(
                            b => new BranchViewModel
                                     {
                                         BranchId = b.Id,
                                         GLCode = b.GLCode,
                                         BranchName = b.BranchName,
                                         RegionId = b.RegionId
                                     }
                        ),
                        Regions = _regionRepository.Get().Select(
                            r => new RegionViewModel
                                     {
                                         RegionId = r.Id,
                                         RegionName = r.RegionName
                                     }
                        ).ToList()
                    };
     
    return View(model);
}
 
 
// Ajax for branches
public ActionResult Branch_Read([DataSourceRequest] DataSourceRequest request)
{
    var branches = _branchRepository.Get().Select(
        b => new BranchViewModel
                 {
                     BranchId = b.Id,
                     GLCode = b.GLCode,
                     BranchName = b.BranchName,
                     RegionId = b.RegionId
                 }
        );
    return Json(branches.ToDataSourceResult(request));
}

I've scoured a number of other forum posts and haven't been able to find an answer.  Any help you could give would be very welcome.
Vladimir Iliev
Telerik team
 answered on 15 Jul 2013
0 answers
428 views

I am using an editor template to provide custom behavior in my grid when a user edits a record.  The editor template .cshtml file is as follows:

@model string
@Html.TextBoxFor(s => s, new { id ="gradingSubItemGrade", @class="k-textbox" })
<script type="text/javascript">
    $(document).ready(function () {
        $('#gradingSubItemGrade').bind('keypress', function (e) {
            if (e.keyCode == 13) {
                var barcode = e.currentTarget.value;
                GetJSON('/API/CoinReferenceInformation/ByBarcode?barcode=' + barcode,
                    function (data) {
                        $('#gradingSubItemGrade').val(data.Grade + data.GradeNumber);
                    },
                    function () { });
            }
        });
    })
</script>

As you can probably see from the code sample, I am trying to send the text of the TextBox to a service (when [Enter] is pressed), then, upon receiving a response, override it with the results.

This almost works...the response comes back correctly, and the results are displayed in the TextBox.  However, what is saved is what the user entered, not what is returned by the service.

Are there additional steps I need to do to notify the grid that the text has changed?

*** EDIT ***

Sorry, I found my answer a few posts below here
Steven
Top achievements
Rank 1
 asked on 13 Jul 2013
4 answers
137 views
I'm trying to add a new record using GridEditMode.PopUp, but my methods are called incorrectly and sometimes not called at all.
My grid is declared like this:
@(Html.Kendo().Grid<DigiBob.AppServices.ViewModels.Governance.Duties.AdhocTaskViewModel>()
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.ShortDescription).Width(50);
        columns.Command(command => { command.Edit(); command.Destroy(); }).Width(160);
    })
    .ToolBar(toolbar =>
    {
        toolbar.Create();
    })
    .Editable(ed=>ed.Mode(GridEditMode.PopUp).TemplateName("AdhocTask"))
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()  
    .DataSource(dataSource => dataSource   
        .Ajax()
        .PageSize(20)
        .Events(events => events.Error("error_handler"))
        .Model(model => model.Id(c => c.ID))
        .Create(update => update.Action("CreateAdhocTask", "Home"))
        .Read(read => read.Action("GetAllAdhocTasks", "Home"))
        .Update(update => update.Action("UpdateAdhocTask", "Home"))   
        .Destroy(update => update.Action("DestroyAdhocTask", "Home"))
        )   
)
With the Create method like this:
[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult CreateAdhocTask([DataSourceRequest] DataSourceRequest request, AdhocTaskViewModel item)
        {
            if (item != null && ModelState.IsValid)
            {
                _adhocTaskRepository = new AdhocTaskRepository(_context);
                AdhocTask target = new AdhocTask();
                target.ShortDescription = item.ShortDescription;
                _adhocTaskRepository.Insert(target);
                _adhocTaskRepository.Save();
                item.ID = target.ID;
            }
 
            return Json(new[] { item }.ToDataSourceResult(request, ModelState));
        }
When I try to debug it, the code in the CreateAdhocTask method is not called consequtively.  Instead the debugger jumps up and down between the lines until it finally reaches the last }
Debugging it again makes it jump around again, but in a different order.  It seems to have a mind of it's own.  It's working fine for the Read method.

More confusing is that it also calls the CreateAdhocTask method for the Update method, although a different method is supposed to be called there.
Also, the DestroyAdhocTask is completely ignored.

What would cause this?
Atanas Korchev
Telerik team
 answered on 13 Jul 2013
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
ComboBox
Upload
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
Accessibility
ListView (Mobile)
Pager
ColorPicker
DateRangePicker
Security
Wizard
Styling
Chat
DateInput
MediaPlayer
TileLayout
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
SegmentedControl
+? more
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?