Telerik Forums
UI for ASP.NET MVC Forum
5 answers
782 views
Kendo grid inline edit mode resulting an editable row with narrow controls which don't have any kendo styles. Please let me know the possible solution  to resolve this.
Eyup
Telerik team
 answered on 01 Jul 2019
6 answers
6.5K+ views
Hi,

I have an application that is strictly used in the central time zone.  Our web server is on pacific time zone.  Data is passed to the web server from the central time zone and I want to display it this way.  Every non-kendo control shows the time as is.  The kendo grid is showing the date with an adjustment of +2 hours so it appears there is a conversion - which I do not want.

My column format is as follows:
c.Bound(g => g.LastUpdated).Format("{0:MM/dd/yyyy hh:mm tt}")

Is it possible to tell the grid to show the date/time "as is"?

Thanks,
David A.
Tsvetomir
Telerik team
 answered on 28 Jun 2019
1 answer
84 views
I have been searching for an hour or so to find the code used in the Chart API demo and I could not find it in the github for the rest of the demos.  I am wondering where that code is located.
Viktor Tachev
Telerik team
 answered on 27 Jun 2019
10 answers
474 views
Having grid with 2 foreign key columns. Grid shows them as is should - value from foreign column (matched by ID)

But in edit mode I have Integer field instead of drop down in one of them.

Models and EditTemplate absolutely identical (as I see)
Problem is in Teachers

Here is models

   [DisplayName("Level")]
        [UIHint("Level")]
        public int LevelId
        {
            get;
            set;
        }

        [DisplayName("Teacher")]
        [UIHint("Teacher")]
        public int TeacherId
        {
            get;
            set;
        }

here is Level.cshtml
@model object
           
@(
 Html.Kendo().DropDownListFor(m => m)
                        .BindTo((System.Collections.IEnumerable)ViewData["levels"]).DataTextField("Title").DataValueField("Id")
)


here Teacher.cshtml
@model object
           
@(
 Html.Kendo().DropDownListFor(m => m)
                            .BindTo((System.Collections.IEnumerable)ViewData["teachers"]).DataTextField("Name").DataValueField("TeacherId")
)

also
ViewData["teachers"]) populated as
  var dataContext = new EntitiesModel();
            var items = dataContext.Peoples
                        .Select(c => new TeachersViewModel
                        {
                            TeacherId = c.HumanId,
                            Name = c.nme + " " + c.Surname,
                            OccupationId = c.OccupationId
                        }).Where(p => p.OccupationId == 2)
                        .OrderBy(e => e.Name);
            ViewData["teachers"] = items;
            ViewData["defaulteacher"] = items.First();

Still do`nt get why one of column don want to be dropdown
GarfieldTech
Top achievements
Rank 1
 answered on 26 Jun 2019
1 answer
634 views

Hi

I have based the following code on Grid / Custom command
https://demos.telerik.com/aspnet-mvc/grid/custom-command


@(Html.Kendo().Grid<MyProject.Models.Profiles>().
    Name("MyTable").
    Columns(columns =>
    {
        columns.Command(command => {
            command.Custom("Edit Details").Click("EditDetails");
        }).Width(120);
    })
    .HtmlAttributes(new { style = "height: 600px" })
    .BindTo(Model)
    .Scrollable()
    .Groupable()
    .Sortable()
    .Filterable()
)
 
<script>
    function EditDetails(e) {
        e.preventDefault();
    }
</script>

When I run the code I get the following error in the Developer Console(Edge & Chrome)
Uncaught ReferenceError: EditDetails is not defined

I have been unable to find the problem, any suggestions?

Is there a way that i can call a controller method without going through javascript?

 

Thanks

Marin Bratanov
Telerik team
 answered on 26 Jun 2019
1 answer
440 views

Hello,

I have this autocomplete in my view :

@(Html.Kendo().AutoComplete()
        .Name("description.EmplacementEquipementAutreSpecifier")
        .DataTextField("EmplacementEquipementAutreSpecifier")
        .Filter("contains")
        .MinLength(3)
        .HtmlAttributes(new { style = "width:100%;", @class = "form-control" })
        .DataSource(source =>
        {
            source
            .Read(read =>
            {
                read.Action("GetEmplacementEquipementAutreSpecifier", "Description");
            })
        .ServerFiltering(false);
        })
        .Value(Model.description.EmplacementEquipementAutreSpecifier)
        .Events(e => e.Filtering("OnChangeNoEmplacementEquipement").Close("OnChangeNoEmplacementEquipement"))
)

And need to apply a Bootstrap style (class="form-control").  See result in attachment.  

When I remove some style I can see the reason of the missing bottom blue border.  The input box seem a bit lower compare to the thing that make the blue border.

Any suggestion to correct this issue?  Css probably.

 

 

Martin
Telerik team
 answered on 25 Jun 2019
7 answers
591 views

Hello,

I have a ui grid with code to hide the destroy button if only one record left in the grid:

...

columns.Command(command => { command.Destroy().Visible("isLastRecordEmail").Text("Remove"); }).Width(200);

...

                                            function isLastRecordEmail(e) {
                                                return $('\#GridEmails').data('kendoGrid').dataSource.data().length > 1;
                                            }

But if I click the Add button then a new records appears and destroy button will appear for last record to allow to delete the very last record.

My question is, how to hide the destroy button in this case?

I did try to add code:

 function isLastRecordEmail(e) {
      if ($('\#GridEmails').EditIndexes.Count > 0) return false;

but EditIndexes is undefined.

Could you please help?

Thanks!

Andrey
Top achievements
Rank 1
Veteran
 answered on 25 Jun 2019
1 answer
8.6K+ views

CostCenterController:

public ActionResult CostCenters_Read([DataSourceRequest] DataSourceRequest request)         {             return Json(ccService.Read().ToDataSourceResult(request));         }         [AcceptVerbs(HttpVerbs.Post)]         

public ActionResult CostCenters_Create([DataSourceRequest] DataSourceRequest request, CostCenterViewModel cc)         {             if (cc != null && ModelState.IsValid)             {                 ccService.Create(cc);             }             //return Json(cc, JsonRequestBehavior.AllowGet);             return Json(new[] { cc }.ToDataSourceResult(request, ModelState));         }         [AcceptVerbs(HttpVerbs.Post)]         

public ActionResult CostCenters_Update([DataSourceRequest] DataSourceRequest request, CostCenterViewModel cc)         {             if (cc != null && ModelState.IsValid)             {                 ccService.Update(cc);             }             return Json(new[] { cc }.ToDataSourceResult(request, ModelState));         }

 

Index.cshtml:

@(Html.Kendo().Grid<Main.Models.Quality.CostCenterViewModel>()                            

                                   .Name("CostCenter")                            

                                   .Columns(columns =>                            

                                    {columns.Bound(c => c.CostCenterID);                                

                                     columns.Bound(c => c.CC).Width(140);                                

                                     columns.Bound(c => c.Rate).Width(140);                                

                                     columns.Bound(c => c.Date).Width(100);                                

                                     columns.Command(command => command.Destroy()).Width(110);                            

                                     })                            

                                    .ToolBar(toolbar => toolbar.Create())                             

                                    .Editable(editable => editable.Mode(GridEditMode.PopUp))                            

                                    .Pageable()                            

                                    .Sortable()                            

                                     .Scrollable()                            

                                     .HtmlAttributes(new { style = "height:550px;" })                            

                                     .DataSource(dataSource => dataSource                            

                                     .Ajax()                            

                                     .PageSize(20)                            

                                     .Events(events => events.Error("error_handler"))                            

                                     .Model(model => model.Id(c => c.CostCenterID))                            .Create(update => update.Action("CostCenters_Create", "CostCenter"))                            .Read(read => read.Action("CostCenters_Read", "CostCenter"))                            .Update(update => update.Action("CostCenters_Update", "CostCenter"))                            .Destroy(update => update.Action("CostCenters_Destroy", "CostCenter"))                            

                            ))               

                            <script type="text/javascript">                    

                                   function error_handler(e) {                       

                                           if (e.errors) {                            

                                           var message = "Errors:\n";                            

                                      $.each(e.errors, function (key, value) {                                

                                           if ('errors' in value) {                                    

                                      $.each(value.errors, function () {                                     

                                       message += this + "\n";                                   

                                       });                                

                                     }                            

                                  });                            

                                 alert(message);  }                    

                                   }                

                                  </script>

I set CostCenterServer, the code is similar as ProductService.

It show up as normal, but when I Click "New Record", It popped up error with "This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet."

 

In Controller, i tried to replace return Json(cc, JsonRequestBehavior.AllowGet); with return Json(new[] { cc }.ToDataSourceResult(request, ModelState)); but no lucky??

Georgi
Telerik team
 answered on 25 Jun 2019
1 answer
99 views

Hello,

What is the best practice to use Kendo UI grid with "long run" server side data source? I have a web page with two tabs. The grid in on second page. The data downloaded on login process and average time is about 20-30 seconds, that's not good. If I create remote data source then opening the second tab is taking 20 seconds to display the grid content.If I choose the first tab and then return the second tab then the grid takes 20 seconds again.

The amount of records in the data source is 0-5. The problem is that SQL code has to check too many things (and controller accessing another web site) and cannot be optimized.

Should I go with web workers? In this case the data could be downloaded when the first tab is displaying. Or might be exist another solution? Or something already in grid functionality that I have missed? What is the best practice for such case?

Thanks!

Andrey
Top achievements
Rank 1
Veteran
 answered on 24 Jun 2019
10 answers
1.0K+ views
I'm having an issue with the ForeignKey drop down not showing the selected value when I pick the first one in the list.

To reproduce, go to the Foreign Key Column example(http://demos.kendoui.com/web/grid/foreignkeycolumn.html), add a new row, put a value in for the product name, select "Beverages" for the category, then click on the Unit Price cell.  Observe that the category cell now is blank instead of showing the selected "Beverages" value.

Any help would be much appreciated.
Thanks,
--Evan
Viktor Tachev
Telerik team
 answered on 24 Jun 2019
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?