|
<ejs-grid id="Grid" allowPaging="true" actionBegin="actionBegin" actionComplete="actionComplete" dataSource="@ViewBag.DataSource" load="onLoad" toolbar="@(new List<string>() {"Add", "Edit","Cancel", "Update", "Delete" })">
<e-grid-editSettings allowAdding="true" allowDeleting="true" allowEditing="true" mode="Dialog" ></e-grid-editSettings>
<e-grid-columns>
. . . . .
<e-grid-column field="IP" headerText="IP Address" edit="@(new {create = "create", read = "read", destroy = "destroy", write = "write"})" width="150"></e-grid-column>
. . . . . . . . . . .
</e-grid-columns>
</ejs-grid>
<script>
function onLoad() {
// Applied validation rules for specific IP column
this.columns[3].validationRules = { required: true, minLength: [customFn, 'custom message'] };
}
function actionBegin(args) {
if (args.requestType === 'save') {
args.data.IP = args.form.elements[4].value;
}
}
function customFn(args) {
// Add your customized validation condition codes.
return true;
};
var elem;
var dObj;
function create(args) {
elem = document.createElement('input');
return elem;
}
function write(args) {
dObj = new ej.inputs.MaskedTextBox({
value: args.rowData[args.column.field],
mask: '[0-2][0-9][0-9].[0-2][0-9][0-9].[0-2][0-9][0-9].[0-2][0-9][0-9]', // Mask type for required IP value
});
dObj.appendTo(elem);
}
function destroy() {
dObj.destroy();
}
function read(args) {
return dObj.value;
}
|
|
<ejs-grid id="Grid" allowPaging="true" actionBegin="actionBegin" actionComplete="actionComplete" dataSource="@ViewBag.DataSource" load="onLoad" toolbar="@(new List<string>() {"Add", "Edit","Cancel", "Update", "Delete" })">
<e-grid-editSettings allowAdding="true" allowDeleting="true" allowEditing="true" mode="Dialog" ></e-grid-editSettings>
<e-grid-columns>
. . . . . . .
<e-grid-column field="Password" headerText="Password" edit="@(new {create = "create1", read = "read1", destroy = "destroy1", write = "write1"})" width="150"></e-grid-column>
</e-grid-columns>
</ejs-grid>
<script>
function actionComplete(args) {
if (args.requestType === 'add' || args.requestType === 'beginEdit') {
args.form.elements[5].type = "password";
}
}
. . . . . . .
var elem1;
var dObj1;
function create1(args) {
elem1 = document.createElement('input');
return elem1;
}
function write1(args) {
dObj1 = new ej.inputs.MaskedTextBox({
value: args.rowData[args.column.field],
});
dObj1.appendTo(elem1);
}
function destroy1() {
dObj1.destroy();
}
function read1(args) {
return dObj1.value;
}
|
|
<ejs-grid id="Grid" allowPaging="true" actionBegin="actionBegin" actionComplete="actionComplete" dataSource="@ViewBag.DataSource" load="onLoad" toolbar="@(new List<string>() {"Add", "Edit","Cancel", "Update", "Delete" })">
<e-grid-editSettings allowAdding="true" allowDeleting="true" allowEditing="true" mode="Dialog" template='#dialogtemplate'></e-grid-editSettings>
<e-grid-columns>
<e-grid-column field="OrderID" headerText="Order ID" defaultValue="1" isIdentity="true" isPrimaryKey="true" width="120"></e-grid-column>
<e-grid-column field="IP" headerText="IP Address" width="150"></e-grid-column>
<e-grid-column field="Password" headerText="Password" defaultValue="123" width="150"></e-grid-column>
</e-grid-columns>
</ejs-grid>
<script id='dialogtemplate' type="text/x-template">
<div>
<div class="form-row">
<div class="e-float-input e-control-wrapper">
<input id="OrderID" name="OrderID" type="text" value="${OrderID}" ${if(isAdd)} ${else} disabled ${/if} />
<span class="e-float-line"></span>
<label class="e-float-text e-label-top" for="OrderID">Order ID</label>
</div>
</div>
<div class="form-row">
<input name="IP" id="IP" value="${IP}" />
</div>
<div class="form-row">
<input name="Password" type="password" id="Password" value="${Password}" />
</div>
</div>
</script>
<script>
function onLoad() {
this.columns[1].validationRules = { required: true, minLength: [customFn, 'custom message'] };
}
function actionBegin(args) {
debugger;
if (args.requestType === 'save') {
args.data.IP = args.form.elements[1].value;
}
}
function actionComplete(args) {
if (args.requestType === 'add' || args.requestType === 'beginEdit') {
new ejs.inputs.MaskedTextBox({
value: args.rowData.IP,
mask: '[0-2][0-9][0-9].[0-2][0-9][0-9].[0-2][0-9][0-9].[0-2][0-9][0-9]',
blur: function (e) { args.form.ej2_instances[0].validate('IP');}
}, args.form.elements.namedItem('IP'));
new ejs.inputs.MaskedTextBox({
value: args.rowData.Password
}, args.form.elements.namedItem('Password'));
}
}
function customFn(args) {
if (args.value.includes('_')) {
return false
}
return true;
};
</script> |