This is a migrated thread and some comments may be shown as answers.

CurrencyTextBox and Mozilla Firefox

1 Answer 123 Views
NumericTextBox
This is a migrated thread and some comments may be shown as answers.
Xavier
Top achievements
Rank 1
Xavier asked on 19 Aug 2015, 11:32 AM

Hi,

 

We have a little problem with control @html.kendo().CurrencyTextBox. We have a view where we have definite a CurrencyTextBox, this view is called from a grid from method .EditorTemplateName(“View”)

 

I send you two images, one image in Internet Explorer with correct format and another from Mozilla Firefox.

 

Now I show you the code grid from main view:

01.@(Html.Kendo().Grid<ValoritzablesViewModel>()
02.        .Name("refundables")
03.        .HtmlAttributes(new { style = "height: 100%; border: 0;" })
04.        .ToolBar(t =>
05.        {
06.            if (User.IsInRole("Modify"))
07.            {
08.                t.Save().SaveText("Validar");
09.            }
10.        })
11.        .Columns(columns =>
12.        {
13.            columns.ForeignKey(f => f.CentreID, (System.Collections.IEnumerable)ViewBag.Centres, "ContactID", "Nom").Width(120);
14.            columns.ForeignKey(f => f.CycleID, (System.Collections.IEnumerable)ViewBag.BillingCycles, "OptionID", "Name").EditorTemplateName("CustomGridForeignKey").Width(90);
15.            columns.Bound(f => f.CodFact).Width(100);
16.            columns.Bound(f => f.ProductorName);
17.            columns.Bound(f => f.DataServei).Width(100);
18.            columns.Bound(f => f.ServiceID).Width(80);
19.            columns.Bound(f => f.RefExt).Width(80);
20.            columns.Bound(f => f.DocNum).Width(100);
21.            columns.ForeignKey(f => f.Reference, (System.Collections.IEnumerable)ViewBag.CatalegResidus, "Value", "Text");
22.            columns.Bound(f => f.Quantitat).Width(80);
23.            columns.Bound(f => f.Preu).ClientTemplate("#: kendo.toString(data.Preu, 'C2') # (" +
24.                                                        "# if (data.RefundFare == " + (short)fareType.Custom + ") { #Contracte" +
25.                                                        "# } else if (data.RefundFare == " + (short)fareType.Standard + ") { #Standard" +
26.                                                        "# } else if (data.RefundFare == " + (short)fareType.Premium + ") { #Premium" +
27.                                                        "# } else if (data.RefundFare == " + (short)fareType.AdHoc + ") { #Puntual" +
28.                                                        "# } else { #General" +
29.                                                        "# } #)").EditorTemplateName("RefundFare").Width(350);
30.            columns.Template(@<text></text>)
31.                .ClientTemplate("<input type='checkbox' #= Generate ? checked='checked':'' # class='chkbx' />")
32.                .HeaderTemplate("<input type='checkbox' id='checkAllRecords' onclick='checkAll(this)' />")
33.                .Width(36);
34.        })
35.        .Editable(editable =>
36.        {
37.            if (User.IsInRole("Modify"))
38.            {
39.                editable.Mode(GridEditMode.InCell);
40.            }
41.            else
42.            {
43.                editable.Enabled(false);
44.            }
45.        })
46.        .Pageable(pageable => pageable.Refresh(true))
47.        .Scrollable()
48.        .Sortable()
49.        .Filterable()
50.        .DataSource(dataSource => dataSource
51.            .Ajax()
52.            .Batch(true)
53.            .PageSize(30)
54.            .Model(model =>
55.            {
56.                model.Id(a => a.DetailID);
57.                model.Field(f => f.CentreID).Editable(false);
58.                model.Field(f => f.ServiceID).Editable(false);
59.                model.Field(f => f.DataServei).Editable(false);
60.                model.Field(f => f.RefExt).Editable(false);
61.                model.Field(f => f.DocNum).Editable(false);
62.                model.Field(f => f.ProductorName).Editable(false);
63.                model.Field(f => f.CodFact).Editable(false);
64.                model.Field(f => f.CycleID).Editable(false);
65.                model.Field(f => f.Reference).Editable(false);
66.                model.Field(f => f.Quantitat).Editable(false);
67.            })
68.            .Events(e => e
69.                .Error(@<text>
70.                    function (e) {
71.                        onError(e, "refundables");
72.                    }
73.                </text>)
74.                .RequestEnd(@<text>
75.                    function (e) {
76.                        onRefundRequestEnd(e);
77.                    }
78.                </text>))
79.                .Sort(s => s.Add(f => f.DataServei).Descending())
80.                .Read("RefundRead", "Payments")
81.                .Update("RefundValidate", "Payments")
82.            )
83.    )

 

And for finish I show you code with view RefundFare with CurrencyTextBox control:​

 

01.@using SGI2014.Models;
02.@model object
03. 
04.<script type="text/javascript">
05.    var row = $(event.srcElement).closest("tr");
06.    var grid = $(event.srcElement).closest("[data-role=grid]").data("kendoGrid");
07.    var currentDataItem = grid.dataItem(row);
08. 
09.    function onPreuChange() {
10.        @*var radios = document.getElementsByName("RefundFare");
11.        for (i = 0; i < radios.length; i++) {
12.            radios[i].checked = (radios[i].value == @((short)fareType.AdHoc));
13.        }*@
14.        @*var radio = $("input[value='@((short)fareType.AdHoc)']");
15.        radio.prop("checked", true);
16.        currentDataItem.RefundFare = @((short)fareType.AdHoc);*@
17.        currentDataItem.set('RefundFare', @((short)fareType.AdHoc));
18.        currentDataItem.set('Generate', true);
19.        grid.refresh();
20.    }
21. 
22.    function onRefundFareClick(e) {
23.        //var ctb = $("#Preu").data("kendoNumericTextBox");
24.        if (e.value == @((short)fareType.AdHoc)) {
25.            //ctb.value("");
26.            //currentDataItem.Preu = 0;
27.            currentDataItem.set('Preu', 0);
28.        } else {
29.            $.ajax({
30.                cache: false,
31.                url: '@Url.Action("GetFarePrice", "Payments")',
32.                //data: { fare: e.value, detailID: getParentID() },
33.                data: { fare: e.value, detailID: currentDataItem.DetailID },
34.                success: function (received) {
35.                    //ctb.value(received);
36.                    //currentDataItem.Preu = received;
37.                    currentDataItem.set('Preu', received);
38.                }
39.            })
40.        }
41.        currentDataItem.set('Generate', true);
42.        grid.refresh();
43.    }
44. 
45.    //function getParentID() {
46.    //    var row = $(event.srcElement).closest("tr");
47.    //    var grid = $(event.srcElement).closest("[data-role=grid]").data("kendoGrid");
48.    //    var currentDataItem = grid.dataItem(row);
49.    //    return currentDataItem.DetailID;
50.    //}
51.</script>
52. 
53.@(Html.Kendo().CurrencyTextBox()
54.    .Name("Preu")
55.    .HtmlAttributes(new { style = "width:100px" })
56.    .Events(e => e.Change("onPreuChange"))
57.)
58. 
59.<input type='radio' name='RefundFare' value='@((short)fareType.Standard)' onclick="onRefundFareClick(this)">Standard
60.<input type='radio' name='RefundFare' value='@((short)fareType.Premium)' onclick="onRefundFareClick(this)">Premium
61.<input type='radio' name='RefundFare' value='@((short)fareType.Custom)' onclick="onRefundFareClick(this)">Contracte
62.<input type='radio' name='RefundFare' value='@((short)fareType.AdHoc)' onclick="onRefundFareClick(this)">Puntual

 

 Thanks in advance.

 

 

Xavier de la Rubia.

1 Answer, 1 is accepted

Sort by
0
Petyo
Telerik team
answered on 21 Aug 2015, 08:12 AM

Hello Xavier,

this looks strange. From what I see, most likely the widget did not instantiate for some reason, however, I can't be certain about that. Did you check the console for JavaScript errors? Furthermore, can you replicate the problem in a Dojo or a sample project? We will investigate it and advise you further. 

Regards,
Petyo
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Tags
NumericTextBox
Asked by
Xavier
Top achievements
Rank 1
Answers by
Petyo
Telerik team
Share this question
or