Telerik Forums
UI for ASP.NET MVC Forum
2 answers
50 views

I use Telerik Kendo.UI for ASP.NET MVC.

Here is my view to render the radio button.

<div class="col-xs-2"></div>
 
Here is the css that I include,
<div class="col-xs-8">
    <div class="row text-center">
        <div class="col-xs-12">
            <h1>KENDO UI FORM</h1>
        </div>
    </div>
    <div class="row">
        <div class="col-xs-12">
            <form class="k-form">
                <fieldset>
                    <div class="form-field">
                        @(Html.Kendo().RadioButton().Name("engine1").Checked(true).HtmlAttributes(new { @name = "engine" }).Label("1.4 Petrol, 92kW"))
                    </div>
                    <div class="form-field">
                        @(Html.Kendo().RadioButton().Name("engine2").HtmlAttributes(new { @name = "engine" }).Label("1.8 Petrol, 118kW"))
                    </div>
                </fieldset>
            </form>
        </div>
    </div>
</div>
<div class="col-xs-2"></div>

 

Here is the css that I include,

1.<link rel="stylesheet" href="@Url.Content("~/content/kendo/2019.3.1023/kendo.bootstrap.min.css")" />
2.<link rel="stylesheet" href="@Url.Content("~/content/kendo/2019.3.1023/kendo.common-bootstrap.min.css")" />
3.<link rel="stylesheet" href="@Url.Content("~/css/telerik-default-theme.css")"

 

I attached the result in the attachment.

 

 

Is there any additional css to make this works?

Thank you.

Tsvetomir
Telerik team
 answered on 09 Sep 2020
11 answers
1.4K+ views

Hi Team,

I have requirement for custom editable feature there i need to pass a value to editalbe function . So is there any way to pass parameter to Javascript function . i know this function will take dataitem as default parameter instead i want to pass viewbag value along with Dataitem to javascript editable function. 

Hope you understand my problem its very urgent for me , please take a look and help me. waiting for your response.

.Editable("IsEditable('#= ViewBag.Month01 #')");

 

by using this i get only posted value but not Dataitem.

 

Below is my code:

c.Bound(p => p.EditYear).Title("Currency").Visible(false).Locked(false).Width(150);                                                         
c.Bound(p => p.month01FD).Title((string)ViewBag.Month01).Width(colWidthFD).ClientGroupFooterTemplate("#=sum#").ClientFooterTemplate("#=sum#").HtmlAttributes(new { @class = "telerik-edit-cell-inline"}).Editable("IsEditable");

 

i want Dataitem  for EditYear and ViewBag.Month01 needed in javascript. 

Editable("IsEditable"); by using this we will get Dataitem , but not the header of the grid. The header of the column will be in ViewBag . 

Theser are dynamic headers , like this multiple columns will be there based on the header and model for EditYear will determine is this column is editible or not.

Thanks & Regards,
SP

Tsvetomir
Telerik team
 answered on 09 Sep 2020
1 answer
6.1K+ views

Hi,

I have tested the differences between setting ServerOperation(true) and ServerOperation(false)...

  • if I set it to false no progress spinner is displayed during request the of the data - why?
  • if I set false it is not enough to use $("#grid").data("kendoGrid").dataSource.page(1) to refresh the data - I have to set:

     

    $("#grid").data("kendoGrid").dataSource.read();
    $("#grid").data("kendoGrid").dataSource.page(1);

     

this is because of the Client side paging?

Are there other differences between this modes which I have to consider?
(I didn't find detailed information about ServerOperation(true/false)) and it's consequences)

robert

 

Alex Hajigeorgieva
Telerik team
 answered on 09 Sep 2020
1 answer
1.0K+ views

I started to use the new floating labels but I notice that the controls , otherwise with full width, are now resized to default. Here is my code:

<div class="form-group">
    <div class="col-sm-4">
        @(Html.Kendo().TextBoxFor(m => m.ContactPersonName)
              .HtmlAttributes(new { @class = "form-control", style = "width: 100%;" })
              .Label(l => l.Content("Name *").Floating(true)))
    </div>
    <div class="col-sm-4">
        @(Html.Kendo().TextBoxFor(m => m.Mobile)
              .HtmlAttributes(new { @class = "form-control numeric phone", style = "width: 100%;" })
              .Label(l => l.Content("Mobile # *").Floating(true)))
    </div>
    <div class="col-sm-4">
        @(Html.Kendo().TextBoxFor(m => m.Email)
              .HtmlAttributes(new { @class = "form-control", style = "width: 100%;" })
              .Label(l => l.Content("Email *").Floating(true)))
    </div>
</div>
 
<div class="form-group">
    <div class="col-sm-8">
        @(Html.Kendo().TextBoxFor(m => m.TRN)
              .HtmlAttributes(new { @class = "form-control", maxlength = "15", style = "width: 100%;" })
              .Label(l => l.Content("Tax Registration # *").Floating(true)))
    </div>
</div>
 
<div class="form-group">
    <div class="col-sm-8">
        @(Html.Kendo().TextBoxFor(m => m.SponsorName)
              .HtmlAttributes(new { @class = "form-control", maxlength = "100", style = "width: 100%;" })
              .Label(l => l.Content("Sponsor Name *").Floating(true)))
    </div>
    <div class="col-sm-4">
        @(Html.Kendo().TextBoxFor(m => m.TradeLicenseNo)
              .HtmlAttributes(new { @class = "form-control numeric", maxlength = "20", style = "width: 100%;" })
              .Label(l => l.Content("Trade License # *").Floating(true)))
    </div>
</div>

 

I need these input controls to appear sized and blocked (100% width) within their bootstrap cell.

Nikolay
Telerik team
 answered on 08 Sep 2020
1 answer
65 views

     Hello All, I am actually usingl ocalization for displaying texts in Window title,

In the .resx file i have a text like  PopUpAjouter_Titre: Saisie d'une écriture .

In .cshtml file i am using this syntax to display the value

 @(Html.Kendo().ToolBar().Name("ToolBar").Resizable(false)
                                    .Items(items =>
                                    {
                                        items.Add().Type(CommandType.Button).Id("btnRefresh").SpriteCssClass("k-i-reload").ShowIcon(ShowIn.Both).HtmlAttributes(new { @title = Web.Resources.Views.TView.Action_Refresh, @class = "k-button-rond-ext" });
                                        items.Add().Type(CommandType.Separator).HtmlAttributes(new { @style = "border-color: rgba(0,0,0,0.08);" });
                                        items.Add().Type(CommandType.Button).Id("btnAjouter").SpriteCssClass("k-i-add").ShowIcon(ShowIn.Both).HtmlAttributes(new { @title = Web.Resources.Views.TView.Action_CreationEcritures, @class = "k-button-rond-ext",
                                            data_titre =  Web.Resources.Views.TView.PopUpAjouter_Titre)
                                        });

}))

when this page is rendered in the chrome browser the html tag is displayed like below

 

<a role="button" href="" tabindex="0" title="Création" class="k-button-rond-ext k-button k-button-icon" data-titre="Saisie d#39;une écriture" id="btnAjouter" data-uid="52af038a-512d-4456-bc78-1cd9cfe83fdd" data-overflow="auto" aria-disabled="false"><span class="k-sprite k-icon k-i-add"></span></a>

and the actual text is not displaye the singlequote or apostrophe is displayed as &#39;

But when i display the same value in a Paragraph like,<p>@Web.Resources.Views.TView.PopUpAjouter_Titre</p>

 

it is displayed like this in the chrome browser, <p>Saisie d'une écriture de trésorerie</p>

If anyone has encountered this issue, please help me.

 

Regards,

NAIDU Geetha

Petar
Telerik team
 answered on 07 Sep 2020
1 answer
55 views

hi all

i have grid with data and pagination in bottom .in higher resolutin screens , all page no is showing . in lower reolution only first page no is showng ( refer screen shot ) 

 

is it anyway to show all page no in pagination details?

 

Dimitar
Telerik team
 answered on 07 Sep 2020
5 answers
774 views

I have an MVC Grid, with a custom toolbar.  On that custom toolbar is a button to Save the grid options, which it does via localStorage.  A second button loads the grid options from localStoage and applies them to the grid.  Everything works except when I load the settings, my custom toolbar disappears.  It doesn't just hide the toolbar, it's completely gone.

The grid code:

@(Html.Kendo().Grid<EIWOResult>()
      .Name("EIWOGrid")
      .TableHtmlAttributes(new { @class = "table-condensed" })
      .Columns(cols =>
      {
          cols.Bound(c => c.EmpId);
          cols.Bound(c => c.LastName);
          cols.Bound(c => c.FirstName);
          cols.Bound(c => c.MiddleInitial);
          cols.Bound(c => c.SSN);
          cols.Bound(c => c.CaseNumber);
          cols.Bound(c => c.OrderNumber);
          cols.Bound(c => c.Amount).Format("{0:c}").HtmlAttributes(new { style = "text-align: right;"});
          cols.Bound(c => c.Authority);
          cols.Bound(c => c.FIPSCode);
          cols.Bound(c => c.EIWOType);
          cols.Bound(c => c.EIWODocument)
              .Title("Document")
              .ClientTemplate("<a href=\"" + @Url.Action("GetEIWODocument", "EIWO") + "?fileName=#:EIWODocument#\" target=\"_blank\">Document</a>");
          cols.ForeignKey(c => c.EIWOAction, (IEnumerable) ViewData["GarnishmentCodes"], "CodeID", "CodeDesc");
          cols.Command(c => c.Edit());
      })
      .Editable(e => e.Mode(GridEditMode.PopUp).TemplateName("EIWOStatus"))
      .Resizable(r => r.Columns(true))
      .Scrollable(s => s.Height("auto"))
      .Sortable()
      .Pageable(p => p
          .PageSizes(new List<object> { 10, 20, 30, 40, 50, "all" })
          .ButtonCount(10))
      .Filterable(f => f.Enabled(true))
      .Events(ev =>ev.DataBound("gridBound"))
      .AutoBind(true)
      .DataSource(ds => ds
          .Ajax()
          .PageSize(25)
          .ServerOperation(true)
          .Model(m =>
          {
              m.Id(d => d.PseudoPrimaryKey);
              m.Field(d => d.EmpId);
              m.Field(d => d.LastName);
              m.Field(d => d.FirstName);
              m.Field(d => d.MiddleInitial);
              m.Field(d => d.SSN);
              m.Field(d => d.CaseNumber);
              m.Field(d => d.OrderNumber);
              m.Field(d => d.Amount);
              m.Field(d => d.Authority);
              m.Field(d => d.FIPSCode);
              m.Field(d => d.EIWOType);
              m.Field(d => d.EIWODocument);
              m.Field(d => d.EIWOAction);
              m.Field(d => d.DocketNumber);
          })
          .Read(r => r.Action("GetUnprocessedEIWOs", "EIWO"))
          .Update(u => u.Action("UpdateEIWO", "EIWO"))
          .Events(e => e.RequestEnd("refreshGrid"))
      )
      .ToolBar(tb =>
      {
          tb.Custom().Name("gridFilterReset").Text("Clear Filter").HtmlAttributes(new { id = "gridFilterReset", style = "float:right;" });
          tb.Custom().Name("gridSave").Text("Save Settings").HtmlAttributes(new { id = "gridSave", style = "float:left;" });
          tb.Custom().Name("gridLoad").Text("Load Settings").HtmlAttributes(new { id = "gridLoad", style = "float:left;" });
      })
      .ColumnMenu()
      .Groupable()
)

 

And the javascript is:

$("#gridSave").click(function (e) {
            e.preventDefault();
            localStorage["kendo-EIWO-options"] = kendo.stringify($("#EIWOGrid").data("kendoGrid").getOptions());
        });
 
        $("#gridLoad").click(function (e) {
            e.preventDefault();
 
            var options = localStorage["kendo-EIWO-options"];
            if(options) {
                $("#EIWOGrid").data("kendoGrid").setOptions(JSON.parse(options));
            }
        });

 

I've also attached the grid settings themselves, copied out of localStorage and saved as a JSON file.

Any suggestions or help on keeping the toolbar from disappearing?

 

Neli
Telerik team
 answered on 04 Sep 2020
1 answer
571 views

Hi,

Unfortunately, the simplest seeming tasks are made hard by Kendo.

I just have to show a "kendoConfirm" box before my Kendo Window closes. 

I have written my code in the Close event of the Kendo Window. The confirm box shows but the window has already closed since the code execution does not stop when kendoConfirm box shows.

Is there any way to achieve this simple functionality?

 

 

Martin
Telerik team
 answered on 04 Sep 2020
28 answers
2.4K+ views
I need to create another column in grid with the sum of column1 and 2.
Georgi
Telerik team
 answered on 04 Sep 2020
6 answers
1.2K+ views

So, I have my grid and my menu and a navbar on top. I want that when I resize the browser window, it all follows and shrinks. Right now, just my menu do it. I'm not sure if it's a grid issue or not. I'll post and hopefully, someone can help me out. In the screen shots, I put what it looks like before and after. When I minimize the screen, my nav bar comes down like it's suppost to, and my menu. But my grid nor the header for my grid move with it. It just falls back and hides. I want the Managed Roles area and Grid to go down and be on the same level as the Menu and beside my Edit Roles button. 

 

Code for my Master Page.

 

<body  onresize="onResize()">
    <div id="masterlayout" class="fixed-top">
        <nav class="navbar navbar-expand-md navbar-dark bg-dark">
            <h1 class="navbar-brand d-flex align-items-center">Div 11</h1>
            <div class="container">
                <ul class="nav navbar-nav">
                    <li></li>
                    <li class="nav-item nav-link mx-1">@Html.ActionLink("Home", "Index", "Home")</li>
                    @if (1 == 1)
                    {
                        <li class="nav-item nav-link mx-1">@Html.ActionLink("Site Admin", "RegisterUsers", "SiteAdmin")</li>
                    }
                    <li class="nav-item nav-link mx-1">@Html.ActionLink("Promotional", "Promotional", "Promotional")</li>
                    <li class="nav-item nav-link mx-1">@Html.ActionLink("Reports", "Contact", "Home")</li>
                </ul>
            </div>
            @Html.Partial("_LoginPartial")
        </nav>
        <div style="background-color: darkgray; width: 100%; height: 10px;">


        </div>

    </div>
    
    <div id="content1">
        @RenderBody()
    </div>
</body>
</html>
<script type="text/javascript">
    $(document).ready(function () {
        var height = document.getElementById("masterlayout").offsetHeight;
        document.getElementById("content1").style.marginTop = height - 1 + 'px';
    });
    $(document).ready(function () {
        var height = document.getElementById("masterlayout").offsetHeight;
        document.getElementById("menu").style.marginTop = height - 1 + 'px';
    });

    function onResize() {
        var height = document.getElementById("masterlayout").offsetHeight;
        document.getElementById("content1").style.marginTop = height - 1 + 'px';
    }
    function onResize() {
        var height = document.getElementById("masterlayout").offsetHeight;
        document.getElementById("menu").style.marginTop = height - 1 + 'px';
    }


</script>

 

Code for my Menu. 

@{
    Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
<header>

</header>

<body>

        <div  class="sidenav">
            <div id="menu" class="navbar-text">
                @if (1==1)
                {
                    @(Html.Kendo().Menu()
                .Name("Menu")
                .Direction(MenuDirection.Left)
                .Orientation(MenuOrientation.Vertical)
                .Scrollable(true)
                .Items(items =>
                    {
                       items.Add().Text("Register Employees").Action("RegisterUsers", "SiteAdmin").Visible(Request.IsAuthenticated && User.IsInRole("Administrators"));
                       items.Add().Text("Edit Roles").Action("ManageRoles", "SiteAdmin");
                    })
    )
                }
            </div>
        </div>

        <div id="idmain" class="main">
            @RenderBody()
        </div>

</body>

 

And the code to my Grid.

@{
    ViewBag.Title = "RegisterUsers";
    Layout = "~/Views/Shared/_SiteAdminLayout.cshtml";

}

<h2>Register Employees</h2>

@(Html.Kendo().Grid<Div11WebSite.Models.Users_Select_Result>
    ()
    .Name("grid")
    .Editable(editable => editable.Mode(GridEditMode.InCell).DisplayDeleteConfirmation(false))
    .Selectable(selection => selection.Enabled(true).Mode(GridSelectionMode.Multiple))
    .Navigatable()
    .Columns(columns =>
    {

    columns.Bound(c => c.Employee_ID).HtmlAttributes(new {style = "height=1em"});
    columns.Bound(c => c.Username);
    })
    .Scrollable(s => s.Height("auto"))

    .DataSource(dataSource => dataSource
    .Ajax()

    .Batch(true)
    .Model(m => {
    m.Id(p => p.User_Id);
    m.Field(p => p.Employee_ID).Editable(true);
    m.Field(p => p.Username).Editable(true);
    })

    .AutoSync(true)

    .ServerOperation(false)
    .Read(read => read.Action("Users_Read", "SiteAdmin"))
    .Create("Users_Create", "SiteAdmin")
    .Update(update => update.Action("Users_Update", "SiteAdmin"))
    .Destroy(delete => delete.Action("Users_Delete", "SiteAdmin"))
    )
    .PersistSelection(true)
    .ToolBar(toolbar =>
    {
    toolbar.Create();
    toolbar.Pdf();
    //toolbar.Save();
    toolbar.Excel();

    toolbar.Custom().Text("Delete").Name("tbDestroy").IconClass("k-icon k-i-close");
    })
    .ClientDetailTemplateId("childGrid")
   // .Events(e => e.DataBound("dataBound"))



    )


<script id="pageFunctions" type="text/javascript">
    function dataBound() {
        this.expandRow(this.tbody.find("tr.k-master-row").first());
    }


    $(document).ready(function () {
        $(".k-grid-tbDestroy").on("click", function (e) {
            e.preventDefault();
            var grid = $("#grid").data("kendoGrid");
            var selectedRows = grid.select();
            kendo.confirm(kendo.format("Are you sure you wish to delete {0} records?", selectedRows.length))
                .done(function () {
                    $.each(selectedRows, function (i, row) {
                        grid.removeRow(row);
                    })
                    grid.saveChanges();
                });
        });
    });

 

I'm out of thoughts about it to be honest. Any help would be appreciated. 

Preslav
Telerik team
 answered on 03 Sep 2020
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?