BoldSignA modern eSignature application with affordable pricing. Sign up today for unlimited document usage!
private void BindDataSource()
{
if ((List<Products>)Session["DialogDataSource"] == null)
{
product.Add(new Products(10001, "ALFKI","completed"));
product.Add(new Products(10002, "ANATR", "new"));
product.Add(new Products(10003, "WERSDD", "process"));
}
else
{
product = (List<Products>)Session["DialogDataSource"];
}
this.ProductGrid.DataSource = product;
this.ProductGrid.DataBind();
}
protected void EditAction(string eventType, object record)
{
List<Products> data = Session["DialogDataSource"] as List<Products>;
Dictionary<string, object> KeyVal = record as Dictionary<string, object>;
if (eventType == "endEdit")
{
Products value = new Products();
foreach (KeyValuePair<string, object> keyval in KeyVal)
{
if (keyval.Key == "Productcode")
{
value = data.Where(d => d.Productcode == (int)keyval.Value).FirstOrDefault();
value.Productcode = Convert.ToInt32(keyval.Value);
}
else if (keyval.Key == "Productname")
value.Productname = Convert.ToString(keyval.Value);
else if (keyval.Key == "status")
value.status = Convert.ToString(keyval.Value);
}
}
else if (eventType == "endAdd")
{
Products newRecord = new Products();
foreach (KeyValuePair<string, object> keyval in KeyVal)
{
if (keyval.Key == "Productcode")
newRecord.Productcode = Convert.ToInt32(keyval.Value);
else if (keyval.Key == "Productname")
newRecord.Productname = Convert.ToString(keyval.Value);
else if (keyval.Key == "status")
newRecord.status = Convert.ToString(keyval.Value);
}
data.Insert(0, newRecord);
}
else if (eventType == "endDelete")
{
foreach (KeyValuePair<string, object> keyval in KeyVal)
{
if (keyval.Key == "Productcode")
{
Products value = data.Where(d => d.Productcode == (int)keyval.Value).FirstOrDefault();
data.Remove(value);
}
}
}
Session["DialogDataSource"] = data;
this.ProductGrid.DataSource = data;
this.ProductGrid.DataBind();
}
[workorder.aspx]
<ej:Grid ID="ProductGrid" ClientIDMode="Static" runat="server" AllowPaging="True" AllowFiltering="false" OnServerEditRow="EditEvents_ServerEditRow"
OnServerAddRow="EditEvents_ServerAddRow" OnServerDeleteRow="EditEvents_ServerDeleteRow">
<ClientSideEvents ActionComplete="complete" QueryCellInfo="querycellinfo" EndAdd="endAdd" EndDelete="endDelete" EndEdit="endEdit" />
<Columns>
</Columns>
...
</ej:Grid>
<script type="text/javascript">
function querycellinfo(args) {
var grid = $('#<%= ProductGrid.ClientID %>').ejGrid("instance");
if (args.text == "completed") {
args.cell.style.color = "black";
args.cell.style.background = "orange";
}
else if (args.text == "new") {
args.cell.style.color = "white";
args.cell.style.background = "green";
...
}
}
</script> |