C# 如何在文本框中生成数据在网格线网格剑道UI中创建数据
我想从网格线插入数据。我有3列(代码、日期、状态)。在代码字段中,我想生成一个由随机字符和数字组成的单词。凭证编码编辑关闭。和处于状态将只有有效的条件。我想在网格剑道UI中实现它。帮帮忙,我不知道怎么做 在我看来,我正在使用这段代码。帮我定制一下。多谢各位 看法C# 如何在文本框中生成数据在网格线网格剑道UI中创建数据,c#,asp.net-mvc-4,kendo-grid,C#,Asp.net Mvc 4,Kendo Grid,我想从网格线插入数据。我有3列(代码、日期、状态)。在代码字段中,我想生成一个由随机字符和数字组成的单词。凭证编码编辑关闭。和处于状态将只有有效的条件。我想在网格剑道UI中实现它。帮帮忙,我不知道怎么做 在我看来,我正在使用这段代码。帮我定制一下。多谢各位 看法 数据传送: @(Html.Kendo().Grid()) .名称(“网格”) .列(列=> { columns.Bound(p=>p.id_凭证).Hidden(); columns.Bound(p=>p.voucherCode).
数据传送:
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(p=>p.id_凭证).Hidden();
columns.Bound(p=>p.voucherCode).Title(“Kode凭证”);
columns.Bound(p=>p.expDate).Title(“Tgl-Exp”).Format(“{0:dd-MMM-yyyy-HH:mm-WIB}”);
columns.Bound(p=>p.status).Title(“status”);
Command(Command=>{Command.Edit();Command.Destroy();}).Width(250);
})
.ToolBar(ToolBar=>ToolBar.Create())
.Editable(可编辑=>Editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.可过滤()
.HtmlAttributes(新的{style=“height:570px;”})
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(10)
.Events(Events=>Events.Error(“错误处理程序”))
.Model(Model=>Model.Id(p=>p.Id\u凭证))
.Create(update=>update.Action(“凭证创建”、“凭证”)).Read(“凭证读取”、“凭证”)
.Update(Update=>Update.Action(“凭证更新”、“凭证”)).Read(“凭证读取”、“凭证”)
.Read(Read=>Read.Action(“凭证读取”、“凭证”))
.Destroy(update=>update.Action(“凭证删除”、“凭证”)).Read(“凭证读取”、“凭证”)
)
)
函数错误\u处理程序(e){
如果(如错误){
var message=“错误:\n”;
$。每个(例如错误、函数(键、值){
如果(值中的“错误”){
$.each(value.errors,function(){
消息+=此+“\n”;
});
}
});
警报(信息);
}
}
单击“添加/编辑”按钮时,可以调用javascript函数。在javascript中,您可以按照自己喜欢的方式操作数据源
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.id_voucher))
.Create(update => update.Action("voucher_Create", "Voucher")).Read("voucher_read", "Voucher")
.Update(update => update.Action("voucher_Update", "Voucher")).Read("voucher_read", "Voucher")
.Read(read => read.Action("voucher_read", "Voucher"))
.Destroy(update => update.Action("voucher_Delete", "Voucher")).Read("voucher_read", "Voucher")
)
.Events(events => events.Edit("onEdit"))
**.Events(events => events.Edit("onEdit"))**
in javascript:
function onEdit(event) {
var grid = $("#ActionsGrid").data("kendoGrid");
var dataSource=grid.dataSource;
//do stuff here
event.model.voucherCode=Math.random();//http://www.w3schools.com/jsref/jsref_random.asp
//make row uneditable follow this thread: http://www.telerik.com/forums/making-individual-rows-read-only
}
显然,您不能使该行不可编辑,但可以替换该行中的html
代码示例:
<div class="tables">
<div class="table-responsive bs-example widget-shadow">
<h4>Data Propinsi:</h4>
@(Html.Kendo().Grid<admission.Models.VoucherPreviewModel>()
.Name("grids")
.Columns(columns =>
{
columns.Bound(p => p.id_voucher).Hidden();
columns.Bound(p => p.voucherCode).Title("Kode Voucher");
columns.Bound(p => p.expDate).Title("Tgl Exp").Format("{0: dd MMM yyyy - HH:mm WIB}");
columns.Bound(p => p.status).Title("Status");
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(250);
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.Filterable()
.HtmlAttributes(new { style = "height:570px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.id_voucher))
.Create(update => update.Action("voucher_Create", "Voucher")).Read("voucher_read", "Voucher")
.Update(update => update.Action("voucher_Update", "Voucher")).Read("voucher_read", "Voucher")
.Read(read => read.Action("voucher_read", "Voucher"))
.Destroy(update => update.Action("voucher_Delete", "Voucher")).Read("voucher_read", "Voucher")
)
.Events(events => events.Edit("onEdit"))
)
</div>
</div>
<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);
}
}
function onEdit(event) {
event.model.voucherCode=makeid();
}
function makeid() {
var code = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
code = Math.random(1).toString().substring(3, 2);
code += possible.charAt(Math.floor(Math.random() * possible.length));
return code;
}
</script>
数据传送:
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(p=>p.id_凭证).Hidden();
columns.Bound(p=>p.voucherCode).Title(“Kode凭证”);
columns.Bound(p=>p.expDate).Title(“Tgl-Exp”).Format(“{0:dd-MMM-yyyy-HH:mm-WIB}”);
columns.Bound(p=>p.status).Title(“status”);
Command(Command=>{Command.Edit();Command.Destroy();}).Width(250);
})
.ToolBar(ToolBar=>ToolBar.Create())
.Editable(可编辑=>Editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.可过滤()
.HtmlAttributes(新的{style=“height:570px;”})
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(10)
.Events(Events=>Events.Error(“错误处理程序”))
.Model(Model=>Model.Id(p=>p.Id\u凭证))
.Create(update=>update.Action(“凭证创建”、“凭证”)).Read(“凭证读取”、“凭证”)
.Update(Update=>Update.Action(“凭证更新”、“凭证”)).Read(“凭证读取”、“凭证”)
.Read(Read=>Read.Action(“凭证读取”、“凭证”))
.Destroy(update=>update.Action(“凭证删除”、“凭证”)).Read(“凭证读取”、“凭证”)
)
.Events(Events=>Events.Edit(“onEdit”))
)
函数错误\u处理程序(e){
如果(如错误){
var message=“错误:\n”;
$。每个(例如错误、函数(键、值){
如果(值中的“错误”){
$.each(value.errors,function(){
消息+=此+“\n”;
});
}
});
警报(信息);
}
}
函数onEdit(事件){
event.model.voucherCode=makeid();
}
函数makeid(){
var代码=”;
var-mable=“abcdefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyz”;
code=Math.random(1).toString()子字符串(3,2);
code+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回码;
}
对于使行不可编辑部分遵循我提到的线程。您能给我更详细的解释吗。我是新来的。如何在更新或创建时获取随机代码并将其放入代码文本框中,使其成为不可编辑的。谢谢,点击“创建新数据”后,我会立即显示math.random中的数据??是的,我会说,试试看。这并不难。你的模型在javascript中可用。你能给我一个例子吗?你成功地使它工作了吗。我在代码中添加了一个示例,说明它应该是怎样的
<div class="tables">
<div class="table-responsive bs-example widget-shadow">
<h4>Data Propinsi:</h4>
@(Html.Kendo().Grid<admission.Models.VoucherPreviewModel>()
.Name("grids")
.Columns(columns =>
{
columns.Bound(p => p.id_voucher).Hidden();
columns.Bound(p => p.voucherCode).Title("Kode Voucher");
columns.Bound(p => p.expDate).Title("Tgl Exp").Format("{0: dd MMM yyyy - HH:mm WIB}");
columns.Bound(p => p.status).Title("Status");
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(250);
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.Filterable()
.HtmlAttributes(new { style = "height:570px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.id_voucher))
.Create(update => update.Action("voucher_Create", "Voucher")).Read("voucher_read", "Voucher")
.Update(update => update.Action("voucher_Update", "Voucher")).Read("voucher_read", "Voucher")
.Read(read => read.Action("voucher_read", "Voucher"))
.Destroy(update => update.Action("voucher_Delete", "Voucher")).Read("voucher_read", "Voucher")
)
.Events(events => events.Edit("onEdit"))
)
</div>
</div>
<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);
}
}
function onEdit(event) {
event.model.voucherCode=makeid();
}
function makeid() {
var code = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
code = Math.random(1).toString().substring(3, 2);
code += possible.charAt(Math.floor(Math.random() * possible.length));
return code;
}
</script>