My problem is ,i have one repeater control.In that the data is binding at BtnGo click.
In that if there are two same vehicle no but they service payments are different ,so after completing the data binding for a partcular vehicle no the total of the payments shud be displayed as a new row named Total.This has to be done for every vehicle.
To get this functionality i used OnItem created event ,and after it was working fine.But Now the problem is this ,that theer is also an option for export to excel.When i use that button,after completing the rendering of the control it only shows the first row and all other values null.
The code i m giving below what i have used:
protected void Content_ItemCre ated(object sender, RepeaterItemEve ntArgs e)
{
string vehicleNo = Convert.ToStrin g(DataBinder.Ev al(e.Item.DataI tem, "Vehicle No"));
if (e.Item.ItemInd ex > 0 && DataVehicleNumb er != vehicleNo && (e.Item.ItemTyp e == ListItemType.It em || e.Item.ItemType == ListItemType.Al ternatingItem))
{
e.Item.Controls .Clear();
TableRow tr = new TableRow();
TableCell tc = new TableCell();
TableCell tc1 = new TableCell();
TableCell tc2 = new TableCell();
TableCell tc3 = new TableCell();
TableCell tc4 = new TableCell();
TableCell tc5 = new TableCell();
TableCell tc6 = new TableCell();
TableCell tc7 = new TableCell();
Label lblnew = new Label();
tc.Controls.Add (lblnew);
lblnew.Text = "<b>Total&n bsp; : </b>" + String.Format(" {0:N}",Total);
tc1.Text = " ";
tc2.Text = " ";
tc3.Text = " ";
tc4.Text = " ";
tc5.Text = " ";
tc6.Text = " ";
tc7.Text = " ";
tr.Cells.Add(tc 1);
tr.Cells[0].CssClass = "datavalue" ;
tr.Cells.Add(tc 2);
tr.Cells[1].CssClass = "datavalue" ;
tr.Cells.Add(tc 3);
tr.Cells[2].CssClass = "datavalue" ;
tr.Cells.Add(tc 4);
tr.Cells[3].CssClass = "datavalue" ;
tr.Cells.Add(tc 5);
tr.Cells[4].CssClass = "datavalue" ;
tr.Cells.Add(tc 6);
tr.Cells[5].CssClass = "datavalue" ;
tr.Cells.Add(tc );
tr.Cells[6].CssClass = "datavalue" ;
tr.Cells[6].Attributes.Add ("align", "right");
tr.Cells.Add(tc 7);
tr.Cells[7].Attributes.Add ("bgcolor", "#D8EFFD");
tr.Cells[7].CssClass = "datavalue" ;
e.Item.Controls .Add(tr);
TableRow Otr = new TableRow();
TableCell Otc0 = new TableCell();
TableCell Otc1 = new TableCell();
TableCell Otc2 = new TableCell();
TableCell Otc3 = new TableCell();
TableCell Otc4 = new TableCell();
TableCell Otc5 = new TableCell();
TableCell Otc6 = new TableCell();
TableCell Otc7 = new TableCell();
Label lblSlno = new Label();
lblSlno.ID = "lblid";
Otc0.Controls.A dd(lblSlno);
Otc0.CssClass = "datavalue" ;
Otr.Cells.Add(O tc0);
Otc1.Text = Convert.ToStrin g(DataBinder.Ev al(e.Item.DataI tem, "Vehicle No"));
Otc1.CssClass = "datavalue" ;
Otr.Cells.Add(O tc1);
Otc2.Text = Convert.ToStrin g(DataBinder.Ev al(e.Item.DataI tem, "Service Type"));
Otc2.CssClass = "datavalue" ;
Otr.Cells.Add(O tc2);
Otc3.Text = Convert.ToStrin g(DataBinder.Ev al(e.Item.DataI tem, "Odometer") );
Otc3.CssClass = "datavalue" ;
Otr.Cells.Add(O tc3);
Otc4.Text = Convert.ToStrin g(DataBinder.Ev al(e.Item.DataI tem, "Bill No"));
Otc4.CssClass = "datavalue" ;
Otr.Cells.Add(O tc4);
Otc5.Text = Convert.ToDateT ime(DataBinder. Eval(e.Item.Dat aItem, "Bill Date")).ToStrin g("dd/MM/yyyy");
Otc5.CssClass = "datavalue" ;
Otr.Cells.Add(O tc5);
Otc6.Text = String.Format(" {0:N}",DataBind er.Eval(e.Item. DataItem, "Amount"));
Otc6.CssClass = "datavalue" ;
Otc6.Attributes .Add("align", "right");
Otr.Cells.Add(O tc6);
Otc7.Text = " ";
Otc7.CssClass = "datavalue" ;
Otc7.Attributes .Add("bgcolor", "#D8EFFD");
Otr.Cells.Add(O tc7);
e.Item.Controls .Add(Otr);
}
if (e.Item.ItemTyp e == ListItemType.Fo oter)
{
e.Item.Controls .Clear();
TableRow tr = new TableRow();
TableCell tc = new TableCell();
TableCell tc1 = new TableCell();
TableCell tc2 = new TableCell();
TableCell tc3 = new TableCell();
TableCell tc4 = new TableCell();
TableCell tc5 = new TableCell();
TableCell tc6 = new TableCell();
TableCell tc7 = new TableCell();
Label lblnew = new Label();
tc.Controls.Add (lblnew);
lblnew.Text = "<b>Total&n bsp; : </b>" + String.Format(" {0:N}",Total);
tc1.Text = " ";
tc2.Text = " ";
tc3.Text = " ";
tc4.Text = " ";
tc5.Text = " ";
tc6.Text = " ";
tc7.Text = " ";
tr.Cells.Add(tc 1);
tr.Cells[0].CssClass = "datavalue" ;
tr.Cells.Add(tc 2);
tr.Cells[1].CssClass = "datavalue" ;
tr.Cells.Add(tc 3);
tr.Cells[2].CssClass = "datavalue" ;
tr.Cells.Add(tc 4);
tr.Cells[3].CssClass = "datavalue" ;
tr.Cells.Add(tc 5);
tr.Cells[4].CssClass = "datavalue" ;
tr.Cells.Add(tc 6);
tr.Cells[5].CssClass = "datavalue" ;
tr.Cells.Add(tc );
tr.Cells[6].CssClass = "datavalue" ;
tr.Cells[6].Attributes.Add ("align", "right");
tr.Cells.Add(tc 7);
tr.Cells[7].Attributes.Add ("bgcolor", "#D8EFFD");
tr.Cells[7].CssClass = "datavalue" ;
e.Item.Controls .Add(tr);
}
}
protected void Content_OnItemD ataBound(object sender, RepeaterItemEve ntArgs e)
{
//double totamount;
if (e.Item.ItemTyp e == ListItemType.It em || e.Item.ItemType == ListItemType.Al ternatingItem)
{
if ((Label)e.Item. FindControl("lb lid") != null)
((Label)e.Item. FindControl("lb lid")).Text = (e.Item.ItemInd ex + 1).ToString();
if (DataVehicleNum ber == DataBinder.Eval (e.Item.DataIte m, "Vehicle No").ToString() )
{
if (((Label)e.Item .FindControl("l blVehicleNumber ")) != null)
((Label)e.Item. FindControl("lb lVehicleNumber" )).Text = " ";
Total += Convert.ToDoubl e(DataBinder.Ev al(e.Item.DataI tem, "Amount"));
//((Label)e.Item. FindControl("lb lTotal")).Text = "Total :" + Total.ToString( );
//((Label)e.Item. FindControl("lb lVehicleNumber" )).Text = " ";
//Total += Convert.ToInt64 (DataBinder.Eva l(e.Item.DataIt em, "Amount"));
//((Label)e.Item. FindControl("lb lTotal")).Text = "Total :" + Total.ToString( );
}
else
{
Total = 0;
DataVehicleNumb er = DataBinder.Eval (e.Item.DataIte m, "Vehicle No").ToString() ;
Total += Convert.ToDoubl e(DataBinder.Ev al(e.Item.DataI tem, "Amount"));
// //((Label)e.Item. FindControl("lb lTotal")).Text = "Total :" + Total.ToString( );
}
}
}
protected void btn_Export_Clic k(object sender, EventArgs e)
{
Response.Buffer = true;
Response.Conten tType = "applicatio n/vnd.ms-excel";
Response.AddHea der("Content-Disposition", "attachment;fil ename=VehicleWi seExpenses.xls" );
Response.Charse t = "";
this.EnableView State = true;
System.IO.Strin gWriter oStringWriter = new System.IO.Strin gWriter();
System.Web.UI.H tmlTextWriter oHtmlTextWriter = new System.Web.UI.H tmlTextWriter(o StringWriter);
Content.RenderC ontrol(oHtmlTex tWriter);
Response.Write( "User : ");
Response.Write( lblUser.Text);
Response.Write( " ");
Response.Write( " ");
Response.Write( " ");
Response.Write( "Run Date : ");
Response.Write( lblrundate.Text );
Response.Write( " ");
Response.Write( " ");
Response.Write( " ");
Response.Write( "Time : ");
Response.Write( lblTime.Text);
Response.Write( "<br>");
Response.Write( "Vehicle Number : ");
Response.Write( lblST.Text);
Response.Write( "<br>");
Response.Write( "Period : ");
Response.Write( lblPeriod.Text) ;
Response.Write( oStringWriter.T oString());
Response.End();
}
Please help me out its urgent.