Click here to Skip to main content
15,887,875 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have a gridview and it is containing column like
<br />
Sr | Name  | D1 | D2 | D3 | D4 | D5 | D6 | D7 | L | A | <br />
1  | Name1 | P  | P  | P  | L  | A  | A  | P  |   |   | <br />
1  | Name2 | L  | P  | P  | P  | A  | A  | A  |   |   | <br />


Now my question is. How can I count Name1 (from D1 to D7) only L in L column and A in A column like

Sr | Name  | D1 | D2 | D3 | D4 | D5 | D6 | D7 | L | A | 
1  | Name1 | P  | P  | P  | L  | A  | A  | P  | 1 | 2 | 
1  | Name2 | L  | L  | P  | P  | A  | A  | A  | 2 | 2 | 


Plz help ....
Thanks.

What I have tried:

................................
Posted
Updated 20-Feb-17 18:49pm

1 solution

try this

<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
             runat="server" AutoGenerateColumns="false">
             <Columns>
                 <asp:BoundField DataField="Sr"  HeaderText="Id"   />
                 <asp:BoundField DataField="Name"   HeaderText="Name"   />
                 <asp:BoundField DataField="D1"  HeaderText="D1"  />
                 <asp:BoundField DataField="D2"  HeaderText="D2"  />
                 <asp:BoundField DataField="D3"  HeaderText="D3"  />
                 <asp:BoundField DataField="D4"  HeaderText="D4"  />
                 <asp:BoundField DataField="D5"  HeaderText="D5"  />
                 <asp:BoundField DataField="D6"  HeaderText="D6"  />
                 <asp:BoundField DataField="D7"  HeaderText="D7"  />
                 <asp:BoundField DataField="L"  HeaderText="L"  />
                 <asp:BoundField DataField="A"  HeaderText="A"  />

             </Columns>
         </asp:GridView>


C#
protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("Sr");
                dt.Columns.Add("Name");
                dt.Columns.Add("D1");
                dt.Columns.Add("D2");
                dt.Columns.Add("D3");
                dt.Columns.Add("D4");
                dt.Columns.Add("D5");
                dt.Columns.Add("D6");
                dt.Columns.Add("D7");
                dt.Columns.Add("L");
                dt.Columns.Add("A");

                dt.Rows.Add(1,"Name1","P","P","P","L","A","A","P");
                dt.Rows.Add(1, "Name2", "L", "L", "P", "P", "A", "A", "A");
                DataTable dtFinal = dt.Clone();

                foreach (DataRow row in dt.Rows)
                {
                    int l = 0, a = 0, p = 0;
                    var aray = new string[]{"D1","D2","D3","D4","D5","D6","D7"};
                    foreach (var col in aray)
                    {
                        if (Convert.ToString(row[col]) == "L")
                            l++;
                        if (Convert.ToString(row[col]) == "P")
                            p++;
                        if (Convert.ToString(row[col]) == "A")
                            a++;
                    }
                    row["L"] = l.ToString();
                    row["A"] = a.ToString();

                }

                GridView1.DataSource = dt;
                GridView1.DataBind();
            }
        }
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900