Mar 04, 2011, 6:46 AM
How can i bind the dynamic grid with the dynamic store. Please help me below is the code
protected void BeforeExpand(object sender, DirectEventArgs e)
{
string[] ids = e.ExtraParams["id"].Split('?');
string id = e.ExtraParams["id"];
string EncounterID = "0";
string CPTCode = "";
string rowid = "";
if (id.Length > 0)
{
EncounterID = ids[0];
CPTCode = ids[1];
rowid = ids[2];
}
PPServiceClient PPSer = new PPServiceClient();
PaymentTransaction[] PTs = PPSer.SelectPaymentTransactionByEncounterIDAndCPT(Convert.ToInt32(EncounterID),CPTCode);
Store store = new Store { ID = "StoreRow_" + id };
JsonReader reader = new JsonReader();
reader.IDProperty = "AutoID";
reader.Fields.Add("PDate");
reader.Fields.Add("EncounterID");
reader.Fields.Add("AutoID");
reader.Fields.Add("TransactionID");
reader.Fields.Add("PaymentDetailsID");
reader.Fields.Add("Description");
reader.Fields.Add("CPT");
reader.Fields.Add("Totalcharges");
reader.Fields.Add("AllowedAmt");
reader.Fields.Add("PaidAmt");
reader.Fields.Add("AdjAmt");
reader.Fields.Add("Balance");
reader.Fields.Add("Status");
reader.Fields.Add("StatusID");
reader.Fields.Add("ReasonName");
reader.Fields.Add("ReasonID");
reader.Fields.Add("DeductAmt");
reader.Fields.Add("BatchDesc");
reader.Fields.Add("Insurance1");
reader.Fields.Add("Insurance2");
reader.Fields.Add("Insurance3");
reader.Fields.Add("PatientContribution");
reader.Fields.Add("TempValue");
store.Reader.Add(reader);
store.DataSource = PTs;
//store.DataBind();
this.RemoveFromCache(store.ID);
store.Render();
this.AddToCache(store.ID);
GridPanel grid = new GridPanel
{
ID = "GridPanelRow_" + id,
StoreID = "{raw}StoreRow_" + id,
Height = 200
};
grid.ColumnModel.Columns.Add(new Column { Header = "PDate", DataIndex = "PDate" });
grid.ColumnModel.Columns.Add(new Column { Header = "EncounterID", DataIndex = "EncounterID" });
grid.ColumnModel.Columns.Add(new Column { Header = "AutoID", DataIndex = "AutoID" });
grid.ColumnModel.Columns.Add(new Column { Header = "TransactionID", DataIndex = "TransactionID" });
grid.ColumnModel.Columns.Add(new Column { Header = "PaymentDetailsID", DataIndex = "PaymentDetailsID" });
grid.ColumnModel.Columns.Add(new Column { Header = "Description", DataIndex = "Description" });
grid.ColumnModel.Columns.Add(new Column { Header = "CPT", DataIndex = "CPT" });
grid.ColumnModel.Columns.Add(new Column { Header = "Totalcharges", DataIndex = "Totalcharges" });
grid.ColumnModel.Columns.Add(new Column { Header = "AllowedAmt", DataIndex = "AllowedAmt" });
grid.ColumnModel.Columns.Add(new Column { Header = "PaidAmt", DataIndex = "PaidAmt" });
grid.ColumnModel.Columns.Add(new Column { Header = "AdjAmt", DataIndex = "AdjAmt" });
grid.ColumnModel.Columns.Add(new Column { Header = "Balance", DataIndex = "Balance" });
grid.ColumnModel.Columns.Add(new Column { Header = "Status", DataIndex = "Status" });
grid.ColumnModel.Columns.Add(new Column { Header = "StatusID", DataIndex = "StatusID" });
grid.ColumnModel.Columns.Add(new Column { Header = "ReasonName", DataIndex = "ReasonName" });
grid.ColumnModel.Columns.Add(new Column { Header = "ReasonID", DataIndex = "ReasonID" });
grid.ColumnModel.Columns.Add(new Column { Header = "DeductAmt", DataIndex = "DeductAmt" });
grid.ColumnModel.Columns.Add(new Column { Header = "BatchDesc", DataIndex = "BatchDesc" });
grid.ColumnModel.Columns.Add(new Column { Header = "Insurance1", DataIndex = "Insurance1" });
grid.ColumnModel.Columns.Add(new Column { Header = "Insurance2", DataIndex = "Insurance2" });
grid.ColumnModel.Columns.Add(new Column { Header = "Insurance3", DataIndex = "Insurance3" });
grid.ColumnModel.Columns.Add(new Column { Header = "PatientContribution", DataIndex = "PatientContribution" });
grid.ColumnModel.ID = "GridPanelRowCM_" + id;
grid.View.Add(new Ext.Net.GridView { ID = "GridPanelRowView_" + id, ForceFit = true });
//important
X.Get("row-" + id).SwallowEvent(new string[] { "click", "mousedown", "mouseup", "dblclick" }, true);
this.RemoveFromCache(grid.ID);
grid.Render("row-" + id, RenderMode.RenderTo);
this.AddToCache(grid.ID);
}
private void RemoveFromCache(string id)
{
X.Js.Call("removeFromCache", id);
}
private void AddToCache(string id)
{
X.Js.Call("addToCache", id);
}
Last edited by Daniil; Mar 04, 2011 at 11:10 AM.
Reason: Please use [CODE] tags