<ej:Grid ID="OrdersGrid" runat="server" AllowPaging="True" >
<ClientSideEvents DataBound="ondatabound" />
<EditSettings AllowEditing="True" AllowAdding="True" AllowDeleting="True"></EditSettings>
<ToolbarSettings ShowToolbar="True" ToolbarItems="add,edit,delete,update,cancel"></ToolbarSettings>
</ej:Grid>
<script type="text/javascript">
function ondatabound(args) {
this.model.columns[1].editTemplate = { create: "create", write: "write", read: "read" };
this.columns(this.model.columns);
}
function create() {
return "<textarea style='resize:none; width:100%'>{{:CustomerID}}</textarea>";
}
function write(args) {
}
function read(args) {
return args.val();
}
</script> |
<ej:Grid ID="OrdersGrid" runat="server" AllowPaging="True">
<ClientSideEvents DataBound="ondatabound" />
<EditSettings AllowEditing="True" AllowAdding="True" AllowDeleting="True"></EditSettings>
<ToolbarSettings ShowToolbar="True" ToolbarItems="add,edit,delete,update,cancel"></ToolbarSettings>
</ej:Grid>
<script type="text/javascript">
function ondatabound(args) {
for (var i = 2; i < this.model.columns.length; i++) {
this.model.columns[i].editTemplate = { create: "create", write: "write", read: "read" };
}
this.columns(this.model.columns);
}
function create() {
return "<textarea style='resize:none; width:100%'></textarea>";
}
function write(args) {
var colname = args.element.attr("name").split(".");
$(args.element).val(args.rowdata[colname[0]][colname[1]]);
}
function read(args) {
return args.val();
}
</script> |
<ej:Grid ID="OrdersGrid" runat="server" AllowPaging="True"
OnServerEditRow="EditEvents_ServerEditRow" OnServerAddRow="EditEvents_ServerAddRow" OnServerDeleteRow="EditEvents_ServerDeleteRow" >
<ClientSideEvents DataBound="ondatabound" />
<EditSettings AllowEditing="True" AllowAdding="True" AllowDeleting="True"></EditSettings>
<ToolbarSettings ShowToolbar="True" ToolbarItems="add,edit,delete,update,cancel"></ToolbarSettings>
</ej:Grid>
// ServerSide
protected void EditEvents_ServerEditRow(object sender, GridEventArgs e)
{
EditAction(e.EventType, e.Arguments["data"]);
}
protected void EditEvents_ServerAddRow(object sender, GridEventArgs e)
{
EditAction(e.EventType, e.Arguments["data"]);
}
protected void EditEvents_ServerDeleteRow(object sender, GridEventArgs e)
{
EditAction(e.EventType, e.Arguments["data"]);
}
protected void EditAction(string eventType, object record)
{
List<Orders> data = order;
Dictionary<string, object> KeyVal = record as Dictionary<string, object>;
if (eventType == "endEdit")
{
Orders value = new Orders();
foreach (KeyValuePair<string, object> keyval in KeyVal)
{
if (keyval.Key == "OrderID")
{
value = data.Where(d => d.OrderID == (int)keyval.Value).FirstOrDefault();
value.OrderID = Convert.ToInt32(keyval.Value);
}
else if (keyval.Key == "CustomerID")
value.CustomerID = Convert.ToString(keyval.Value);
else if (keyval.Key == "DatarowElement")
{
Dictionary<string, object> chec = keyval.Value as Dictionary<string, object>;
foreach (KeyValuePair<string, object> keyvalue in chec)
{
if (keyvalue.Key == "FirstName")
value.DatarowElement.FirstName = Convert.ToString(keyvalue.Value);
else if (keyvalue.Key == "LastName")
value.DatarowElement.LastName = Convert.ToString(keyvalue.Value);
else if (keyvalue.Key == "EmployeeID")
value.DatarowElement.EmployeeID = Convert.ToInt32(keyvalue.Value);
}
}
}
}
else if (eventType == "endAdd")
{
Orders newRecord = new Orders();
Employee complexrecord = new Employee();
foreach (KeyValuePair<string, object> keyval in KeyVal)
{
if (keyval.Key == "OrderID")
newRecord.OrderID = Convert.ToInt32(keyval.Value);
else if (keyval.Key == "CustomerID")
newRecord.CustomerID = Convert.ToString(keyval.Value);
else if (keyval.Key == "DatarowElement")
{
Dictionary<string, object> chec = keyval.Value as Dictionary<string, object>;
foreach (KeyValuePair<string, object> keyvalue in chec)
{
if (keyvalue.Key == "FirstName")
complexrecord.FirstName = Convert.ToString(keyvalue.Value);
else if (keyvalue.Key == "LastName")
complexrecord.LastName = Convert.ToString(keyvalue.Value);
else if (keyvalue.Key == "EmployeeID")
complexrecord.EmployeeID = Convert.ToInt32(keyvalue.Value);
newRecord.DatarowElement = complexrecord;
}
}
}
data.Insert(0, newRecord);
}
else if (eventType == "endDelete")
{
foreach (KeyValuePair<string, object> keyval in KeyVal)
{
if (keyval.Key == "OrderID")
{
Orders value = data.Where(d => d.OrderID == (int)keyval.Value).FirstOrDefault();
data.Remove(value);
}
}
}
this.OrdersGrid.DataSource = data;
this.OrdersGrid.DataBind();
}
|
|
|