|
[GridFeatures.aspx]
<ej:Grid ID="FlatGrid" runat="server" OnServerEditRow="FlatGrid_ServerEditRow" >
<Columns>
----
<ej:Column Field="ShipPostalCode">
<EditTemplate Create="create" Read="read" Write="write"/></ej:Column>
<ej:Column Field="PostalCodeComments" Visible="false"/> // need to set the comments column as visible false
</Columns>
<ClientSideEvents ActionBegin ="GridActionBeginEvent"/>
---
</ej:Grid>
<script>
var val;
function write(args) {
-----
$(args.element.parents('td')[0]).append("<textarea id='PostalCodeCommentsTextArea' type='text' name='PostalCodeComments'></textarea>");
// append the comments text box to the shipPostalCode Column
args.rowdata['PostalCodeComments'] != " " ? $("#PostalCodeCommentsTextArea").val(args.rowdata['PostalCodeComments']) : $("#PostalCodeCommentsTextArea").attr('placeholder', 'Comments'); // set the comments value or place the watermark text
}
function read(args) {
val = $("#PostalCodeCommentsTextArea").val();// get the comments value while saving
return args.ejMaskEdit("get_StrippedValue");
}
-----
function GridActionBeginEvent(args) {
if (args.requestType == "save")
args.rowData['PostalCodeComments'] = val; // set the comments column value in rowData
}
</script>
-------------------------------------------------------------------------------------------------------------
[GridFeatures.aspx.cs]
protected void FlatGrid_ServerEditRow(object sender, GridEventArgs e)
{
object record = e.Arguments["data"];
List<Orders> data = order;
Dictionary<string, object> KeyVal = record as Dictionary<string, object>;
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.ToInt64(keyval.Value);
}
else if (keyval.Key == "EmployeeID")
value.EmployeeID = Convert.ToInt32(keyval.Value);
else if (keyval.Key == "ShipCountry")
value.ShipCountry = Convert.ToString(keyval.Value);
else if (keyval.Key == "ShipPostalCode")
value.ShipPostalCode = Convert.ToInt32(keyval.Value);
else if (keyval.Key == "PostalCodeComments")
value.PostalCodeComments = Convert.ToString(keyval.Value);
}
this.FlatGrid.DataSource = data;
this.FlatGrid.DataBind();
}
|