Monday, May 21, 2012

Grid view row data bound event in asp.net

Here I will show how to do RowDataBound event in grid view in asp.net.For this I have given a simple example which is bind the percentage data to label in grid view.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Width="100%" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Student Id">
<ItemTemplate>
<asp:Label ID="lblstudentid" runat="server" Text='<%#Eval("StudentID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Student Name">
<ItemTemplate>
<asp:Label ID="lblstudentname" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total">
<ItemTemplate>
<asp:Label ID="lblTotal" runat="server" Text='<%#Eval("total")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Percentage">
<ItemTemplate>
<asp:Label ID="lblPercentage" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>   
</Columns>
</asp:GridView>
 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
 {
 if (e.Row.RowType == DataControlRowType.DataRow)
 {
 Label lblPercentage = (Label)e.Row.FindControl("lblPercentage");
 Label lblTotal = (Label)e.Row.FindControl("lblTotal");
 if (total > 0)
 {
 float percentage = float.Parse(lblTotal.Text) / total;
 percentage = percentage * 100;
 lblPercentage.Text = percentage.ToString();
 }
 else
 {
 lblPercentage.Text = "0";
 }
 }
 }

No comments:

Bel