Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Web Development
  3. ASP.NET
  4. GridView

GridView

Scheduled Pinned Locked Moved ASP.NET
csharpquestion
21 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B blurMember

    There was an error when I compiled. Error Cannot apply indexing with [] to an expression of type 'System.Web.UI.WebControls.GridViewRow' C:\WebSites\Attendance\Admin\frm_Report.aspx.cs 322 17 C:\WebSites\Attendance\

    thanks in advance. Much appreciated.

    C Offline
    C Offline
    coolestCoder
    wrote on last edited by
    #4

    Hi, Sorry about that but i dont know about the GridView. You can use the cells collection of the row - r.Row.Cells(0) where the '0' is column number of your desired column. I am not sure about it but you can atleast try ! check this - http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.tablerow.cells.aspx[^]


    "A good programmer is someone who looks both ways before crossing a one-way street." -- Doug Linder


    Anant Y. Kulkarni

    B 1 Reply Last reply
    0
    • C coolestCoder

      Hi, Sorry about that but i dont know about the GridView. You can use the cells collection of the row - r.Row.Cells(0) where the '0' is column number of your desired column. I am not sure about it but you can atleast try ! check this - http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.tablerow.cells.aspx[^]


      "A good programmer is someone who looks both ways before crossing a one-way street." -- Doug Linder


      Anant Y. Kulkarni

      B Offline
      B Offline
      blurMember
      wrote on last edited by
      #5

      Thanks for the link, I have yet to understand. Anyone there who can help? :((

      J 1 Reply Last reply
      0
      • B blurMember

        Thanks for the link, I have yet to understand. Anyone there who can help? :((

        J Offline
        J Offline
        Jay_se
        wrote on last edited by
        #6

        Hi Blur Member .... u may use ," e.Row.Cells[index].Text " to get the value on that Particular Cell ( index th position, zero indexing) of the current row. Hope It works..

        Regards, Jay

        B 1 Reply Last reply
        0
        • J Jay_se

          Hi Blur Member .... u may use ," e.Row.Cells[index].Text " to get the value on that Particular Cell ( index th position, zero indexing) of the current row. Hope It works..

          Regards, Jay

          B Offline
          B Offline
          blurMember
          wrote on last edited by
          #7

          There was an error. Error 1 Cannot implicitly convert type 'string' to 'bool' C:\WebSites\Attendance\Admin\frm_Report.aspx.cs 322 17 C:\WebSites\Attendance\ protected void GridView4_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[3].Text = "P") { presentCount++; } } else if (e.Row.RowType == DataControlRowType.Footer) { e.Row.Cells[3].Text = presentCount.ToString(); }

          thanks for your help so far Jay

          J 1 Reply Last reply
          0
          • B blurMember

            There was an error. Error 1 Cannot implicitly convert type 'string' to 'bool' C:\WebSites\Attendance\Admin\frm_Report.aspx.cs 322 17 C:\WebSites\Attendance\ protected void GridView4_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[3].Text = "P") { presentCount++; } } else if (e.Row.RowType == DataControlRowType.Footer) { e.Row.Cells[3].Text = presentCount.ToString(); }

            thanks for your help so far Jay

            J Offline
            J Offline
            Jay_se
            wrote on last edited by
            #8

            if (e.Row.Cells[3].Text == "P") put '==' operator for comparision

            Regards, Jay

            B 1 Reply Last reply
            0
            • J Jay_se

              if (e.Row.Cells[3].Text == "P") put '==' operator for comparision

              Regards, Jay

              B Offline
              B Offline
              blurMember
              wrote on last edited by
              #9

              Basically I have a dropdownlist which filter adminNo and then display each record at the gridview. So user can see how many P exists in column Category for each adminNo. the result display at the footer is 0. i hope it is not due to me filtering records by dropdownlist.

              jay thanks

              J 1 Reply Last reply
              0
              • B blurMember

                Basically I have a dropdownlist which filter adminNo and then display each record at the gridview. So user can see how many P exists in column Category for each adminNo. the result display at the footer is 0. i hope it is not due to me filtering records by dropdownlist.

                jay thanks

                J Offline
                J Offline
                Jay_se
                wrote on last edited by
                #10

                Whether it works or not ? You need to declare the variable 'presentCount' as a 'static' variable inorder to retain its value during the Gridview is population.

                Regards, Jay

                B 1 Reply Last reply
                0
                • J Jay_se

                  Whether it works or not ? You need to declare the variable 'presentCount' as a 'static' variable inorder to retain its value during the Gridview is population.

                  Regards, Jay

                  B Offline
                  B Offline
                  blurMember
                  wrote on last edited by
                  #11

                  I hope my declaration is correct. public static int presentCount = 0; But yet the footer still show 0. :((

                  JAY THANKS

                  J 1 Reply Last reply
                  0
                  • B blurMember

                    I am using c#. i have a gridview and one of the column is Category. I have used the objectdatasource to bind the data. I want to count the number of "P" exist in that column and display it at the footer of the gridview. int presentCount = 0; protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { //if ( # = "P") presentCount++; } else if (e.Row.RowType == DataControlRowType.Footer) { e.Row.Cells[3].Text = presentCount.ToString(); } } What whould be the correct way. What syntax should be replaced by #? Is there any sample I can follow?

                    thanks in advance. Much appreciated.

                    T Offline
                    T Offline
                    Tiger456
                    wrote on last edited by
                    #12

                    Try out this !.............

                    int presentCount = 0;
                    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
                    {
                    if (e.Row.RowType == DataControlRowType.DataRow)
                    {
                    YourType obj = e.Row.DataItem as YourType;
                    if ( obj.Property = "P")
                    presentCount++;
                    }
                    else if (e.Row.RowType == DataControlRowType.Footer)
                    {
                    e.Row.Cells[3].Text = presentCount.ToString();
                    }
                    }

                    B 1 Reply Last reply
                    0
                    • T Tiger456

                      Try out this !.............

                      int presentCount = 0;
                      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
                      {
                      if (e.Row.RowType == DataControlRowType.DataRow)
                      {
                      YourType obj = e.Row.DataItem as YourType;
                      if ( obj.Property = "P")
                      presentCount++;
                      }
                      else if (e.Row.RowType == DataControlRowType.Footer)
                      {
                      e.Row.Cells[3].Text = presentCount.ToString();
                      }
                      }

                      B Offline
                      B Offline
                      blurMember
                      wrote on last edited by
                      #13

                      i am having doubt the data type need to be used. What is the best solution? My Category value is a char data type from the database. :^)

                      thanks in advance. Much appreciated.

                      1 Reply Last reply
                      0
                      • B blurMember

                        I hope my declaration is correct. public static int presentCount = 0; But yet the footer still show 0. :((

                        JAY THANKS

                        J Offline
                        J Offline
                        Jay_se
                        wrote on last edited by
                        #14

                        Believe me it works fine... I think , ur data "P" came from database. It may have some white spaces. use Trim() method to remove that, then the string comparision works properly. Hope it help u... static int count = 0; protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string tmp=(e.Row.Cells[3].Text).Trim(); if (tmp == "P") { count += 1; } } if (e.Row.RowType == DataControlRowType.Footer) { e.Row.Cells[3].Text = count.ToString(); } } -- modified at 6:27 Thursday 17th August, 2006

                        Regards, Jay

                        B 1 Reply Last reply
                        0
                        • J Jay_se

                          Believe me it works fine... I think , ur data "P" came from database. It may have some white spaces. use Trim() method to remove that, then the string comparision works properly. Hope it help u... static int count = 0; protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string tmp=(e.Row.Cells[3].Text).Trim(); if (tmp == "P") { count += 1; } } if (e.Row.RowType == DataControlRowType.Footer) { e.Row.Cells[3].Text = count.ToString(); } } -- modified at 6:27 Thursday 17th August, 2006

                          Regards, Jay

                          B Offline
                          B Offline
                          blurMember
                          wrote on last edited by
                          #15

                          :-D Yes it came from a database. What an awesome solution! Poem for Jay I 1 2 SAY to the person JAY I am so GAY (happy) to finally get the ans... Hip Hip HOORAY!

                          another brilliant ans from the pro.

                          _ J 2 Replies Last reply
                          0
                          • B blurMember

                            :-D Yes it came from a database. What an awesome solution! Poem for Jay I 1 2 SAY to the person JAY I am so GAY (happy) to finally get the ans... Hip Hip HOORAY!

                            another brilliant ans from the pro.

                            _ Offline
                            _ Offline
                            _AK_
                            wrote on last edited by
                            #16

                            blurMember wrote:

                            I 1 2 SAY to the person JAY I am so GAY (happy) to finally get the ans... Hip Hip HOORAY!

                            :laugh:

                            Best Regards, Apurva Kaushal

                            1 Reply Last reply
                            0
                            • B blurMember

                              :-D Yes it came from a database. What an awesome solution! Poem for Jay I 1 2 SAY to the person JAY I am so GAY (happy) to finally get the ans... Hip Hip HOORAY!

                              another brilliant ans from the pro.

                              J Offline
                              J Offline
                              Jay_se
                              wrote on last edited by
                              #17

                              always welcome...:)

                              Regards, Jay

                              B 1 Reply Last reply
                              0
                              • J Jay_se

                                always welcome...:)

                                Regards, Jay

                                B Offline
                                B Offline
                                blurMember
                                wrote on last edited by
                                #18

                                When the user click from the ListBox to view each adminNo, the Show Footer manage to calculate the number of P exist in the gridview. But when the user click another adminNo, the Show Footer number was accumulated with the previous Show Footer. Example: when the user click for the first time Show Footer: 18 second output when user click for the second time, the number of P exist in the gridview is suppose to be 10, but show 38 instead Show Footer: 38

                                thanks in advance. Much appreciated.

                                J 1 Reply Last reply
                                0
                                • B blurMember

                                  When the user click from the ListBox to view each adminNo, the Show Footer manage to calculate the number of P exist in the gridview. But when the user click another adminNo, the Show Footer number was accumulated with the previous Show Footer. Example: when the user click for the first time Show Footer: 18 second output when user click for the second time, the number of P exist in the gridview is suppose to be 10, but show 38 instead Show Footer: 38

                                  thanks in advance. Much appreciated.

                                  J Offline
                                  J Offline
                                  Jay_se
                                  wrote on last edited by
                                  #19

                                  i think the static variable 'showCount' keeps its old value. So you may declare it properly , in such a way that when u click a item from ur ListBox , the variable is set to zero. hope it helps u

                                  Regards, Jay

                                  B 1 Reply Last reply
                                  0
                                  • J Jay_se

                                    i think the static variable 'showCount' keeps its old value. So you may declare it properly , in such a way that when u click a item from ur ListBox , the variable is set to zero. hope it helps u

                                    Regards, Jay

                                    B Offline
                                    B Offline
                                    blurMember
                                    wrote on last edited by
                                    #20

                                    X| My flu and cough is really bad, i can't even think. :laugh: protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { count = 0; } I did this to save my trouble. Hope no more problem.

                                    thanks again superjay

                                    J 1 Reply Last reply
                                    0
                                    • B blurMember

                                      X| My flu and cough is really bad, i can't even think. :laugh: protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { count = 0; } I did this to save my trouble. Hope no more problem.

                                      thanks again superjay

                                      J Offline
                                      J Offline
                                      Jay_se
                                      wrote on last edited by
                                      #21

                                      :)

                                      Regards, Jay

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups