Hello,
I was struggling with the kendo-toolbar taghelper to add an html attribute to a toolbar item, but eventually figured it out.
Is this the correct way to use the html-attributes taghelper or is there a shortcut ?
<item type="CommandType.Button" text="Delete" html-attributes='new Dictionary<string, object>{ ["class"] = "float-right" }' />
Thanks in advance
Hi
Does Html.Kendo().TextBox+For have a TagHelper as well? Can't find any documentation about it.
Thanks
Giuseppe
I'm using a Grid, with InLine AJAX editing enabled. The grid has a single text column, and my Model has an ID property (a GUID). When I add a row to the grid, set the text value, and hit Save, on the server the ModelState.IsValid property is set to false and it's complaining about the empty ID. Of course it's empty - the database assigns that.
How do I get that to stop being treated as invalid? I already have the ID decorated as DatabaseGenerated (I'm using efcore). Help!
i have added kendo grid in my asp.net core 2 project ..
i have a checkbox column in it which is bound to IsVisible field
when i click edit or create button , i get a validation error which is 'The IsVisible field is required.'
i think there is a bug with the grid validation , because a checkbox always has a selected value (checked or not checked)
you can see the issue by adding or editing a row in telerik inline editing sample : https://demos.telerik.com/aspnet-core/grid/editing-inline
I'm trying to use Kendo grid with tag helpers, documentation you have right now is pretty much useless for my problems. I have a really simple Kendo grid, and I'm trying to create functions for create, edit, and delete buttons.
1. openCreateWindow, openEditWindow and openDeleteWindow - How to pass an Id (in my example LanguageId)?
2. openCreateWindow - Click event doesn't work at all inside toolbar (toolbar-button), what to do?
With these functions I will call server side actions to create separate popup editors with different fields and terms using Kendo Window and Ajax forms, and I have pretty much strong reasons why I need something like this.
...
<columns>
<column field="LanguageId" width="240" hidden="true"/>
<column field="Name"/>
<column field="Culture"/>
<column width="100">
<commands>
<column-command name="edit" text="Edit" click="openEditWindow(LanguageId?)"></column-command>
</commands>
</column>
<column width="100">
<commands>
<column-command name="delete" text="Delete" click="openDeleteWindow(LanguageId?)"></column-command>
</commands>
</column>
</columns>
<toolbar>
<toolbar-button name="custom" text="Add new record" click="openCreateWindow(LanguageId?)"></toolbar-button>
</toolbar>
...
I'm looking forward to hearing from you.
Kind regards,
Asmir M.
Hi,
I have followed the steps from https://docs.telerik.com/devtools/aspnet-ajax/installation/installing-the-telerik-controls-from-nuget-package
to include Telerik's nuget package source to VS2017 but at the final step there is no package "Telerik.UI.for.AspNet.Core
!Capture.PNG!
I"m sure you guys are working on this but would it help everyone if we started to add to the demos to show aspects of using these tools against Core Razor Pages?
I'm just conscious of not wanting to post too many questions when i can't find demos i'm interested in.
Cheers,
John
I am binding the data from a datatable but it is always binding the data against the current date.If i have set the selected date is something else also.
Code
using System;
using System.Text;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
dtpDate.SelectedDate = DateTime.Today.AddDays(0);
// OTTable();
}
//RadScheduler1.SelectedDate = (DateTime.Today.AddDays(2));
}
private void OTTable()
{
RadScheduler1.DataSource = null;
RadScheduler1.DataBind();
// Create a new Data Table.
System.Data.DataTable OTTheater = new DataTable("OTTheater");
DataColumn dtColumn;
DataRow myDataRow;
// Create id Column
dtColumn = new DataColumn();
dtColumn.DataType = System.Type.GetType("System.Int32");
dtColumn.ColumnName = "TheaterId";
dtColumn.Caption = "TheaterId";
dtColumn.ReadOnly = false;
dtColumn.Unique = true;
// Add id column to the DataColumnCollection.
OTTheater.Columns.Add(dtColumn);
// create Name column.
dtColumn = new DataColumn();
dtColumn.DataType = System.Type.GetType("System.String");
dtColumn.ColumnName = "TheatreName";
dtColumn.Caption = "TheatreName";
dtColumn.AutoIncrement = false;
dtColumn.ReadOnly = false;
dtColumn.Unique = false;
// Add Address column to the table.
OTTheater.Columns.Add(dtColumn);
// Add rows to the custTable using NewRow method
// I add three customers with their addresses, name and id
myDataRow = OTTheater.NewRow();
myDataRow["TheaterId"] = 1;
myDataRow["TheatreName"] = "OT1";
OTTheater.Rows.Add(myDataRow);
myDataRow = OTTheater.NewRow();
myDataRow["TheaterId"] = 2;
myDataRow["TheatreName"] = "OT2";
OTTheater.Rows.Add(myDataRow);
System.Data.DataTable OTPatientDetail = new DataTable("OTPatientDetail");
DataColumn dtOTPatientDetailn;
DataRow myDataRowOTPatientDetail;
// Create id Column
dtOTPatientDetailn = new DataColumn();
dtOTPatientDetailn.DataType = System.Type.GetType("System.Int32");
dtOTPatientDetailn.ColumnName = "TheaterId";
dtOTPatientDetailn.Caption = "TheaterId";
dtOTPatientDetailn.ReadOnly = false;
//dtOTPatientDetailn.Unique = true;
// Add id column to the DataColumnCollection.
OTPatientDetail.Columns.Add(dtOTPatientDetailn);
dtOTPatientDetailn = new DataColumn();
dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
dtOTPatientDetailn.ColumnName = "TheatreName";
dtOTPatientDetailn.Caption = "TheatreName";
dtOTPatientDetailn.ReadOnly = false;
//dtOTPatientDetailn.Unique = true;
// Add id column to the DataColumnCollection.
OTPatientDetail.Columns.Add(dtOTPatientDetailn);
dtOTPatientDetailn = new DataColumn();
dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
dtOTPatientDetailn.ColumnName = "FromTime";
dtOTPatientDetailn.Caption = "FromTime";
dtOTPatientDetailn.ReadOnly = false;
//dtOTPatientDetailn.Unique = true;
// Add id column to the DataColumnCollection.
OTPatientDetail.Columns.Add(dtOTPatientDetailn);
dtOTPatientDetailn = new DataColumn();
dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
dtOTPatientDetailn.ColumnName = "ToTime";
dtOTPatientDetailn.Caption = "ToTime";
dtOTPatientDetailn.ReadOnly = false;
//dtOTPatientDetailn.Unique = true;
// Add id column to the DataColumnCollection.
OTPatientDetail.Columns.Add(dtOTPatientDetailn);
dtOTPatientDetailn = new DataColumn();
dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
dtOTPatientDetailn.ColumnName = "Subject";
dtOTPatientDetailn.Caption = "Subject";
dtOTPatientDetailn.ReadOnly = false;
//dtOTPatientDetailn.Unique = true;
// Add id column to the DataColumnCollection.
OTPatientDetail.Columns.Add(dtOTPatientDetailn);
dtOTPatientDetailn = new DataColumn();
dtOTPatientDetailn.DataType = System.Type.GetType("System.String");
dtOTPatientDetailn.ColumnName = "TooTipText";
dtOTPatientDetailn.Caption = "TooTipText";
dtOTPatientDetailn.ReadOnly = false;
//dtOTPatientDetailn.Unique = true;
// Add id column to the DataColumnCollection.
OTPatientDetail.Columns.Add(dtOTPatientDetailn);
//TheaterId, TheaterName, FromTime, ToTime, Subject, TooTipText
myDataRowOTPatientDetail = OTPatientDetail.NewRow();
myDataRowOTPatientDetail["TheaterId"] = 1;
myDataRowOTPatientDetail["TheatreName"] = "OT1";
myDataRowOTPatientDetail["FromTime"] = "10:00";
myDataRowOTPatientDetail["ToTime"] = "11:00";
myDataRowOTPatientDetail["Subject"] = "Test Patient";
myDataRowOTPatientDetail["TooTipText"] = "Test Patient";
OTPatientDetail.Rows.Add(myDataRowOTPatientDetail);
myDataRowOTPatientDetail = OTPatientDetail.NewRow();
myDataRowOTPatientDetail["TheaterId"] = 2;
myDataRowOTPatientDetail["TheatreName"] = "OT2";
myDataRowOTPatientDetail["FromTime"] = "09:00";
myDataRowOTPatientDetail["ToTime"] = "11:00";
myDataRowOTPatientDetail["Subject"] = "Test Patient";
myDataRowOTPatientDetail["TooTipText"] = "Test Patient";
OTPatientDetail.Rows.Add(myDataRowOTPatientDetail);
DataTable Dt = new DataTable();
RadScheduler1.SelectedView = SchedulerViewType.DayView;
RadScheduler1.SelectedDate = dtpDate.SelectedDate.Value;
RadScheduler1.WorkDayStartTime = TimeSpan.Parse("06:00");
RadScheduler1.WorkDayEndTime = TimeSpan.Parse("00:00");
RadScheduler1.DayStartTime = TimeSpan.Parse("08:00");
RadScheduler1.DayEndTime = TimeSpan.Parse("00:00");
RadScheduler1.MinutesPerRow = int.Parse("10");
//RadScheduler1.TimeLabelRowSpan = 30 / int.Parse(OTPatientDetail.Rows[0]["ToTime"].ToString());
RadScheduler1.DataKeyField = "TheaterId";
RadScheduler1.DataStartField = "FromTime";
RadScheduler1.DataEndField = "ToTime";
RadScheduler1.DataSubjectField = "Subject";
//RadScheduler1.GroupBy = "Resource";
//RadScheduler1.DataRecurrenceField = "RecurrenceRule";
//RadScheduler1.DataRecurrenceParentKeyField = "RecurrenceParentId";
RadScheduler1.ResourceTypes.Clear();
ResourceType rt = new ResourceType("Resource");
rt.DataSource = OTTheater;
rt.KeyField = "TheaterId";
rt.ForeignKeyField = "TheaterId";
rt.TextField = "TheatreName";
RadScheduler1.ResourceTypes.Add(rt);
RadScheduler1.DataSource = OTPatientDetail;
RadScheduler1.DataBind();
}
protected void RadScheduler1_AppointmentDataBound(object sender, SchedulerEventArgs e)
{
e.Appointment.ToolTip = e.Appointment.Attributes["TooTipText"];
}
protected void RadScheduler1_AppointmentCreated(object sender, AppointmentCreatedEventArgs e)
{
WebControl rsAptInner = (WebControl)e.Container.Parent;
rsAptInner.Style["background"] = "#4286f4";
}
protected void RadScheduler1_TimeSlotContextMenuItemClicked(object sender, TimeSlotContextMenuItemClickedEventArgs e)
{
}
protected void RadScheduler1_AppointmentContextMenuItemClicked(object sender, AppointmentContextMenuItemClickedEventArgs e)
{
}
protected void RadScheduler1_NavigationCommand(object sender, SchedulerNavigationCommandEventArgs e)
{
}
protected void RadScheduler1_TimeSlotCreated(object sender, TimeSlotCreatedEventArgs e)
{
}
protected void as_Click(object sender, EventArgs e)
{
OTTable();
}
protected void OnSelectedDateChanged_dtpDate(object sender, EventArgs e)
{
try
{
as_Click(sender, e);
}
catch (Exception Ex)
{
}
}
}
Call code:
@(
Html.Kendo().Grid<HomeFlat>()
.Name("TestGridName")
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(true)
.Model(model =>
{
model.Id(p => p.TestProperty);
model.Field(p => p.TestProperty).Editable(false);
}
)
.Read(read => read.Action("Action_Test", "Home"))
)
)
The error you get with the build:
Critical error was detected at line 74, column 9 in http://localhost:XXXX/.
SCRIPT1002: Syntax error