Telerik Forums
UI for ASP.NET MVC Forum
0 answers
108 views

I declare a radio button group on the page inside a list-type control (or a @foreach loop). Radio button group is bound to a model property and needs to have its name prefixed with an index like so: "Model[0].PropOne". When I use @Html.Name helper with other controls like a checkbox it works right, but with radio buttons it produces a name like this - Model_0__PropOne. So, looks like it replaces brackets and dots with an underscore. What do I need to do to get it to work?

Nikita
Top achievements
Rank 2
Iron
Iron
 asked on 24 Apr 2023
1 answer
234 views

Hello,

I have kendo TabStrip contain 2 tabs, each tab has kendo Grid with 2 groups and details (layout below). Tab one is active and has layout with expand detail rows but when the tab two is active, the second group and detail rows not expand. Both tabs have the same setting. I want both tabs to expand detail rows when selected. 

Grant Name: xxxx
Project Name: xxxxxx
Project Item: ..........
Project Item: ..........
Project Name: xxxxxx
Project Item: ..........
Project Item: ..........
Project Item: ..........
Project Item: ..........
Project Name: xxxxxx
Grant Name: oooooo
Project Name: xxxxxx
Project Item: ..........
Project Item: ..........
Project Name: xxxxxx
Project Item: ..........
Project Item: ..........
Project Item: ..........
Project Item: ..........
Project Name: xxxxxx

My TabStrip coding

@(Html.Kendo().TabStrip()
        .Name("ReimbusementDetails")
        .Items(x =>
        {                
        x.Add().Text("Submitted")
        .Selected((AuthorizationService.AuthorizeAsync(User, "InternalUser")).Result.Succeeded)
        .Content(
            @<text>
            @(Html.Kendo().Grid<Grants.Models.ProjectReimbursementView>()
                .Name("ReimbursmentSubmitted")
                .Columns(column =>
                {
                    column.Bound(c => c.GrantName).ClientGroupHeaderTemplate("Grant Name: #=value# (Project Count: #=CustomCount(value, aggregates.ProjectName,'ReimbursmentSubmitted')#)").Hidden(true);
                    column.Bound(c => c.ProjectName).ClientGroupHeaderTemplate("Project Name: #=value# (Reimbursement Count: #=count#)").Hidden(true);
                    column.Bound(c => c.InvoiceDate).Title("Invoice Date").Width(130)
                        .ClientTemplate("#if (MultipleCategory == 0)"
                        + "{#<a onclick=\"windowSingleProcess(#=ProjectReimbursementId#)\"><span style='color:blue; cursor:pointer;'>#= kendo.toString(InvoiceDate,'MM/dd/yyyy') #</span></a>"
                        + "#}else"
                        + "{#<a onclick=\"windowMultipleProcess(#=ProjectReimbursementId#)\"><span style='color:blue; cursor:pointer;'>#= kendo.toString(InvoiceDate,'MM/dd/yyyy') #</span></a>"
                        + "#}#");
                    column.Bound(c => c.VendorName).Title("Vendor name");
                    column.Bound(c => c.InvoiceNumber).Title("Invoice #");
                    column.Bound(c => c.GrantFundedTotal).Title("Grant Funds Requested").Width(150).Format("{0:c2}").HtmlAttributes(new { style = "text-align:right!important" });
                    column.Bound(c => c.ContributionFundedTotal).Title("Match").Width(150).Format("{0:c2}").HtmlAttributes(new { style = "text-align:right!important" });
                    column.Bound(c => c.BudgetCategory).Title("Budget Category");
                    column.Bound(c => c.ProcessedDate).Title("Submitted Date").Format("{0:d}").Width(130);
                })
                .Sortable()
                .Scrollable(s => s.Height("auto"))
                .ColumnMenu()
                .Mobile()
                .ToolBar(tool => tool.Excel())
                .Excel(ex => ex
                    .AllPages(true)
                    .Filterable(true)
                    .FileName("Reimbursement Submitted.xlsx")
                    .ProxyURL(Url.Action("ValidationErrorExport", "Application"))
                )               
                .DataSource(ds => ds
                    .Ajax()                    
                    .GroupPaging(true)
                    .Group(g =>
                    {
                        g.Add(x => x.GrantName);
                        g.Add(x => x.ProjectName);
                    })
                    .Aggregates(ag =>
                    {
                        ag.Add(x => x.GrantName).Count();
                        ag.Add(x => x.ProjectName).Count();
                    })
                    .Read(read => read.Action("MyReimbursementSubmitted", "ProjectReimbursement"))
                )
            )
            </text>
        );

        x.Add().Text("In Progress")            
        .Content(
            @<text>
            @(Html.Kendo().Grid<Grants.Models.ProjectReimbursementView>()
                .Name("ReimbursmentInProgress")
                .Columns(column =>
                {
                    column.Bound(c => c.GrantName).ClientGroupHeaderTemplate("Grant Name: #=value# (Project Count: #=CustomCount(value, aggregates.ProjectName,'ReimbursmentInProgress')#)").Hidden(true);
                    column.Bound(c => c.ProjectName).ClientGroupHeaderTemplate("Project Name: #=value# (Reimbursement Count: #=count#)").Hidden(true);
                    column.Bound(c => c.InvoiceDate).Title("Invoice Date").Width(130)
                        .ClientTemplate("#if (MultipleCategory == 0)"
                        + "{#<a onclick=\"windowSingleProcess(#=ProjectReimbursementId#)\"><span style='color:blue; cursor:pointer;'>#= kendo.toString(InvoiceDate,'MM/dd/yyyy') #</span></a>"
                        + "#}else"
                        + "{#<a onclick=\"windowMultipleProcess(#=ProjectReimbursementId#)\"><span style='color:blue; cursor:pointer;'>#= kendo.toString(InvoiceDate,'MM/dd/yyyy') #</span></a>"
                        + "#}#");
                    column.Bound(c => c.VendorName).Title("Vendor name");
                    column.Bound(c => c.InvoiceNumber).Title("Invoice #");
                    column.Bound(c => c.GrantFundedTotal).Title("Grant Funds Requested").Width(150).Format("{0:c2}").HtmlAttributes(new { style = "text-align:right!important" });
                    column.Bound(c => c.ContributionFundedTotal).Title("Match").Width(150).Format("{0:c2}").HtmlAttributes(new { style = "text-align:right!important" });
                    column.Bound(c => c.BudgetCategory).Title("Budget Category");                        
                    column.Bound(c => c.ProcessedDate).Title("Process Date").Format("{0:d}").Width(130);
                })                    
                .Pageable()
                .Sortable()
                .Scrollable(s => s.Height("auto"))
                .ColumnMenu()
                .Mobile()  
                .ToolBar(tool => tool.Excel())
                .Excel(ex => ex
                    .AllPages(true)
                    .Filterable(true)
                    .FileName("Reimbursement In Progress.xlsx")
                    .ProxyURL(Url.Action("ValidationErrorExport", "Application"))
                )
                .Events(ev => ev.DataBound("ExpandProgress"))
                .DataSource(ds => ds
                    .Ajax()                                    
                    .GroupPaging(true)                    
                    .Group(g =>
                    {
                        g.Add(x => x.GrantName);
                        g.Add(x => x.ProjectName);                                
                    }) 
                    .Aggregates(ag =>
                    {                            
                        ag.Add(x => x.GrantName).Count();
                        ag.Add(x => x.ProjectName).Count();
                    })
                    .Read(read => read.Action("MyReimbursementInProgress", "ProjectReimbursement"))
                )
            )
            </text>
        );
        })
    )

function ExpandProgress(e) {        
        grid = $("#ReimbursmentInProgress").data("kendoGrid");
        $(".k-master-row").each(function (index) {
            grid.expandRow(this);
        });        
    }

I have tried with Event DataBound("ExpandProgress") javascript but still not working.

Any advice to achieve this. Thank you.

Anton Mironov
Telerik team
 answered on 19 Apr 2023
1 answer
164 views

Hi guys.

I have a grid with 4 command buttons. I need to align the last one to the right. I try some ways I find on the support furum but I can't obtain my goal. Can you help me? This is my code:

</style>
    .impExcel a { float: right; }
    .impExcel { float: right; }
</style>

then...

            @(
                Html.Kendo().Grid<MCP310.Models.MCP_Detail>()
                .Name("Grid_MCP_Detail")
                .ToolBar(toolbar => {
                    toolbar.Create().HtmlAttributes(new { @class = (Model.idStatoRichiesta > 0 ) ? "k-button-outline-primary  k-state-disabled" : "k-button-outline-primary k-state-default" });
                    toolbar.Save().HtmlAttributes(new { @class = "k-button-outline-primary"});
                    toolbar.Custom().Text("t").IconClass("k-icon k-i-file-excel impExcel").HtmlAttributes(new { @class = "k-button-outline-primary impExcel", @id = "btnImportExcel"});
                })
                .Columns(columns => {
.....

Thanks

Cristian

Cristian
Top achievements
Rank 1
Iron
 answered on 14 Apr 2023
1 answer
625 views

I have the following in a .cshtml file:

                @(Html.Kendo().Grid<TaxCertApp.ViewModels.ViewModel>()
          .Name("FilingFeesGrid")
          .Pageable()
          .Sortable()
          .Scrollable()
          .HtmlAttributes(new { style = "height:500px;" })
          .AutoBind(false)
          .Columns(columns =>
          {
              columns.Bound(s => s.DistributionDate).Format("{0:MM/dd/yyyy}").Width(100).EditorTemplateName("Date");
              columns.Bound(s => s.Disbursed)
                .Format("{0:C2}")
                .EditorTemplateName("Disbursed")
                .Width(100)
                .ClientFooterTemplate("Total: #=sum#")
                .HtmlAttributes(new { style = "text-align: right" })
                .FooterHtmlAttributes(new { style = "text-align: right" });
              columns.Bound(s => s.Received)
                .Format("{0:C2}")
                .EditorTemplateName("Received")
                .Width(100)
                .ClientFooterTemplate("Total: #=sum#")
                .HtmlAttributes(new { style = "text-align: right" })
                .FooterHtmlAttributes(new { style = "text-align: right" });
              columns.Bound(s => s.CHECKNO).Title("Check Number").Width(100);
              columns.Bound(s => s.DESCRIPTION).Title("Description").Width(300);
          })
            .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(10)
            .Aggregates(aggregates =>
            {
                aggregates.Add(p => p.Disbursed).Sum();
                aggregates.Add(p => p.Received).Sum();
            })
            .Read(read => { read.Action("Fees", "Fees").Data("{ ID: " + @Model.ID + "}"); })
            )
                )

 

This generates a grid with 2 columns having sum aggregates.  The format of those 2 columns is currency.  How can I get the sum aggregates to display with the same currency format?  I have included a picture of the rendered grid. 

Question #2: How can I access the two aggregate sum's to display a "difference" number (the Disbursed sum - the Received sum)?

Anton Mironov
Telerik team
 answered on 13 Apr 2023
9 answers
412 views

We have a page that contains a mvc kendo grid. This grid contains a detail template = all working as expected!

Also, on the same page there is a checkbox.

 

In our grid (below), and we want to switch SALES OUT and COST VALUE column groupings based on the checkbox being checked. Does the checkbox have to be a html checkbox or can we leave it as a .net checkbox and do this in the code behind?

I'm new to kendo so any help greatly appreciated. We are trialling it to see if ti fits our requirements.

Thanks Simon

@(Html.Kendo().Grid<Web_AllPFCs_BySMR_v5>()
              .Name("wpsbysmr")
              .Columns(columns =>
              {
                  columns.Bound(c => c.SMRCat).Title("Category").Width(150);
 
                  columns.Group(g => g.Title("Sales Out").Visible(true)
                      .Columns(costvalue =>
                      {
                          costvalue.Bound(c => c.Avg1_Invoice).Width(100).Title("PPU Calendar YTD").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.Avg2_Invoice).Width(100).Title("PPU Calendar PYTD").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.Value1).Width(100).Title("Calendar YTD").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.Value2).Width(100).Title("Calendar PYTD").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.PFCDiffSale).Width(100).Title("Change").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.PFCPercSale).Width(100).Title("Change %").Format("{0:0.0%}");
                      })
                  );
 
                  columns.Group(g => g.Title("Cost Value").Visible(false)
                      .Columns(costvalue =>
                      {
                          costvalue.Bound(c => c.Avg1_Cost).Width(100).Title("PPU Calendar YTD").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.Avg2_Cost).Width(100).Title("PPU Calendar PYTD").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.Cost1).Width(100).Title("Calendar YTD").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.Cost2).Width(100).Title("Calendar PYTD").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.PFCDiffCost).Width(100).Title("Change").Format("{0:£#,##0}");
                          costvalue.Bound(c => c.PFCPercCost).Width(100).Title("Change %").Format("{0:0.0%}");
                      })
                  );
 
              })
              .Scrollable(s => s.Height("auto"))
              .HtmlAttributes(new { style = "max-height:550px !important;" })
              .Pageable(pageable => pageable
                  .Refresh(true)
                  .PageSizes(true)
                  .ButtonCount(15))
              .DataSource(dataSource => dataSource
                  .Ajax()
                  .Read(read => read.Action("WPSBySMR", "Home"))
                  .PageSize(10)
              )
              .Events(e => e.DataBound("wpsbysmr_Databound"))
              .ClientDetailTemplateId("SMRCatDetails")
        )

 

Ryan
Top achievements
Rank 1
Iron
Iron
Iron
 updated answer on 12 Apr 2023
5 answers
315 views
Hello,
i've got some problems with kendo window: i've got a window opened by grid context menu. if i open the window, close and reopen the content of the window is shown smaller than the first time.

i'm using  the 1.9.1 version of jquery and the 2013.2.716 version of kendo min.

why this happens?

thanks a lot
Paolo


Gav
Top achievements
Rank 1
Iron
 answered on 12 Apr 2023
1 answer
102 views

Hi,

Would there be a way to interact with the Rating widget by setting a minimum and maximum value of 1, within a grid?

For example in this way:

columns.Bound(p => p.IsFavorite).Title("Is Favorite?").Width(140).Editable("returnFalse").ClientTemplate(Html.Kendo().Rating()
                 .Name("rating_#=ProductID#")
                 .Min(1)
                 .Max(1)
                 .Label(false)
                 .HtmlAttributes(new { data_bind = "value: IsFavorite" })
                 .Selection("single")
                 .ToClientTemplate().ToHtmlString()
             );

I have tried but when I select the only star it no longer lets me deselect it

Any help would be greatly appreciated

Javier B.

Iva
Telerik team
 answered on 11 Apr 2023
0 answers
134 views

How can we make sure optional field is not validated?  Also the model is a DateTime? type.

 


                                    i.Add()
                                        .Field(x=>x.ProductionDate)
                                        .Label(l => l.Text(Extensions.GetPropertyDisplayName<Detail_InfoForm_ViewModel>(x => x.ProductionDate)).Optional(true))
                                        .Editor(e => e.DatePicker()
                                            .HtmlAttributes(new { style = "width: 100%", title = "Production date" })
                                            .DateInput()
                                        );

Jordan
Top achievements
Rank 1
Iron
 asked on 10 Apr 2023
0 answers
225 views

I am trying to pass selected value from dropdownlist(GameCode) to another dropdown(GameCode2).

It is passing the value but it is not showing the value in the another dropdown.

How can I show it?

function gameDropDownOnChange(e) {

            var game= $('#GameCode').data("kendoDropDownList").value();

            $('#GameCode2').val(game).change();

}

Kate
Top achievements
Rank 1
 asked on 10 Apr 2023
1 answer
164 views

Hello,

Is it possible to prevent the automatic selection event when navigating in a combobox using the arrows keys, just like in the multiselect example  here: https://demos.telerik.com/aspnet-mvc/multiselect/events ???

 

Iva
Telerik team
 answered on 10 Apr 2023
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
Barcode
ButtonGroup (Mobile)
Drawer (Mobile)
ImageEditor
RadioGroup
Sparkline
Stepper
TabStrip (Mobile)
GridLayout
Template
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
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
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?