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. Code behind for ASP tables

Code behind for ASP tables

Scheduled Pinned Locked Moved ASP.NET
htmltutorialquestion
13 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.
  • W Offline
    W Offline
    wbeetge
    wrote on last edited by
    #1

    Can anyone please show me how to create the following table (given in markup) in code behind ? <div style="text-align: left"> <table border="0" cellpadding="1" style="position: relative"> <tr> <td rowspan="4" style="width: 100px"> </td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> </table> </div> As you can see, the cells in the left column are merged. Thanks WBeetge

    D J S 3 Replies Last reply
    0
    • W wbeetge

      Can anyone please show me how to create the following table (given in markup) in code behind ? <div style="text-align: left"> <table border="0" cellpadding="1" style="position: relative"> <tr> <td rowspan="4" style="width: 100px"> </td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> </table> </div> As you can see, the cells in the left column are merged. Thanks WBeetge

      D Offline
      D Offline
      Declan Bright
      wrote on last edited by
      #2

      Use a StringBuilder to build the string of HTML and then set the string as the Text of a Literal control.

      Declan Bright www.declanbright.com

      W 1 Reply Last reply
      0
      • D Declan Bright

        Use a StringBuilder to build the string of HTML and then set the string as the Text of a Literal control.

        Declan Bright www.declanbright.com

        W Offline
        W Offline
        wbeetge
        wrote on last edited by
        #3

        Thanks, sounds easy. I need to load other controls (images, text, hyperlinks etc) into different cells of the table. Can I talk to the cells in the table after setting the string of a literal control or must I build the string with the controls embedded in the string for each record in the query result ?

        A 1 Reply Last reply
        0
        • W wbeetge

          Thanks, sounds easy. I need to load other controls (images, text, hyperlinks etc) into different cells of the table. Can I talk to the cells in the table after setting the string of a literal control or must I build the string with the controls embedded in the string for each record in the query result ?

          A Offline
          A Offline
          Abhijit Jana
          wrote on last edited by
          #4

          why you are not creating table runtime using Table Class?

          Best Regards ----------------- Abhijit Jana Microsoft Certified Professional "Success is Journey it's not a destination"

          W 1 Reply Last reply
          0
          • W wbeetge

            Can anyone please show me how to create the following table (given in markup) in code behind ? <div style="text-align: left"> <table border="0" cellpadding="1" style="position: relative"> <tr> <td rowspan="4" style="width: 100px"> </td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> </table> </div> As you can see, the cells in the left column are merged. Thanks WBeetge

            J Offline
            J Offline
            J4amieC
            wrote on last edited by
            #5

            You do this by building up the control tree using a Panel for the div and a Table, TableRow's and TableCell's for the table. I have simplified this somewhat (mainly creating a simple method that generates the 100px cell and reusing that throughout) for the purpose of demonstration but here you go: protected override void OnLoad(EventArgs e) { Panel panel = new Panel(); panel.Style.Add(HtmlTextWriterStyle.TextAlign, "left"); Table table = new Table(); table.CellPadding = 1; table.Style.Add(HtmlTextWriterStyle.Position, "relative"); panel.Controls.Add(table); TableRow row1 = new TableRow(); TableCell colRowSpan = this.Create100PixelCell("a"); colRowSpan.RowSpan = 4; row1.Cells.Add(colRowSpan); row1.Cells.Add(this.Create100PixelCell("b")); table.Rows.Add(row1); TableRow row2 = new TableRow(); row2.Cells.Add(this.Create100PixelCell("c")); table.Rows.Add(row2); TableRow row3 = new TableRow(); row3.Cells.Add(this.Create100PixelCell("d")); table.Rows.Add(row3); TableRow row4 = new TableRow(); row4.Cells.Add(this.Create100PixelCell("e")); table.Rows.Add(row4); this.placeHolder.Controls.Add(panel); } private TableCell Create100PixelCell(string someContent) { TableCell cell = new TableCell(); cell.Style.Add(HtmlTextWriterStyle.Width, "100px"); cell.Controls.Add(new LiteralControl(someContent)); return cell; } The line "this.placeHolder..." is an asp:PlaceHolder put into the markup where i want the dynamic content to be placed. hope it helps.

            W A 2 Replies Last reply
            0
            • A Abhijit Jana

              why you are not creating table runtime using Table Class?

              Best Regards ----------------- Abhijit Jana Microsoft Certified Professional "Success is Journey it's not a destination"

              W Offline
              W Offline
              wbeetge
              wrote on last edited by
              #6

              If anyone can show me how to do that for the example table (left Column cells are merged) using the table, tablerow and tablecell objects, or any other method that will work, I will use that method.

              J 1 Reply Last reply
              0
              • W wbeetge

                If anyone can show me how to do that for the example table (left Column cells are merged) using the table, tablerow and tablecell objects, or any other method that will work, I will use that method.

                J Offline
                J Offline
                J4amieC
                wrote on last edited by
                #7

                see my post below.

                1 Reply Last reply
                0
                • J J4amieC

                  You do this by building up the control tree using a Panel for the div and a Table, TableRow's and TableCell's for the table. I have simplified this somewhat (mainly creating a simple method that generates the 100px cell and reusing that throughout) for the purpose of demonstration but here you go: protected override void OnLoad(EventArgs e) { Panel panel = new Panel(); panel.Style.Add(HtmlTextWriterStyle.TextAlign, "left"); Table table = new Table(); table.CellPadding = 1; table.Style.Add(HtmlTextWriterStyle.Position, "relative"); panel.Controls.Add(table); TableRow row1 = new TableRow(); TableCell colRowSpan = this.Create100PixelCell("a"); colRowSpan.RowSpan = 4; row1.Cells.Add(colRowSpan); row1.Cells.Add(this.Create100PixelCell("b")); table.Rows.Add(row1); TableRow row2 = new TableRow(); row2.Cells.Add(this.Create100PixelCell("c")); table.Rows.Add(row2); TableRow row3 = new TableRow(); row3.Cells.Add(this.Create100PixelCell("d")); table.Rows.Add(row3); TableRow row4 = new TableRow(); row4.Cells.Add(this.Create100PixelCell("e")); table.Rows.Add(row4); this.placeHolder.Controls.Add(panel); } private TableCell Create100PixelCell(string someContent) { TableCell cell = new TableCell(); cell.Style.Add(HtmlTextWriterStyle.Width, "100px"); cell.Controls.Add(new LiteralControl(someContent)); return cell; } The line "this.placeHolder..." is an asp:PlaceHolder put into the markup where i want the dynamic content to be placed. hope it helps.

                  W Offline
                  W Offline
                  wbeetge
                  wrote on last edited by
                  #8

                  Thanks J4amieC That is exactly what I am looking for.

                  J 1 Reply Last reply
                  0
                  • W wbeetge

                    Thanks J4amieC That is exactly what I am looking for.

                    J Offline
                    J Offline
                    J4amieC
                    wrote on last edited by
                    #9

                    you're very welcome. Remember if you want events from any of these dynamically created controls you need to re-create them after postback. It gets tricky quickly.

                    W 1 Reply Last reply
                    0
                    • W wbeetge

                      Can anyone please show me how to create the following table (given in markup) in code behind ? <div style="text-align: left"> <table border="0" cellpadding="1" style="position: relative"> <tr> <td rowspan="4" style="width: 100px"> </td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> </tr> </table> </div> As you can see, the cells in the left column are merged. Thanks WBeetge

                      S Offline
                      S Offline
                      Sneaki
                      wrote on last edited by
                      #10

                      Well the problem with merging is that due to the fact that the cells has nothing in it the table just ignores it, therefore best way to prevent that is putting something in it like a label, textbox, etc. But if you would like to leave it blank then best option is insert a new line statement "
                      ".

                      Then you could try to do it in the code-behind with the feature of Response.Write("...html coding...."), i tried it with a picture e.g. This is adding a picture with a string from the database to a checkListBox collection cblNames.Items.Add((string)readerSet["Nam"] + "

                      "); Any other questions be free to ask, i'll try my best...

                      W 1 Reply Last reply
                      0
                      • J J4amieC

                        You do this by building up the control tree using a Panel for the div and a Table, TableRow's and TableCell's for the table. I have simplified this somewhat (mainly creating a simple method that generates the 100px cell and reusing that throughout) for the purpose of demonstration but here you go: protected override void OnLoad(EventArgs e) { Panel panel = new Panel(); panel.Style.Add(HtmlTextWriterStyle.TextAlign, "left"); Table table = new Table(); table.CellPadding = 1; table.Style.Add(HtmlTextWriterStyle.Position, "relative"); panel.Controls.Add(table); TableRow row1 = new TableRow(); TableCell colRowSpan = this.Create100PixelCell("a"); colRowSpan.RowSpan = 4; row1.Cells.Add(colRowSpan); row1.Cells.Add(this.Create100PixelCell("b")); table.Rows.Add(row1); TableRow row2 = new TableRow(); row2.Cells.Add(this.Create100PixelCell("c")); table.Rows.Add(row2); TableRow row3 = new TableRow(); row3.Cells.Add(this.Create100PixelCell("d")); table.Rows.Add(row3); TableRow row4 = new TableRow(); row4.Cells.Add(this.Create100PixelCell("e")); table.Rows.Add(row4); this.placeHolder.Controls.Add(panel); } private TableCell Create100PixelCell(string someContent) { TableCell cell = new TableCell(); cell.Style.Add(HtmlTextWriterStyle.Width, "100px"); cell.Controls.Add(new LiteralControl(someContent)); return cell; } The line "this.placeHolder..." is an asp:PlaceHolder put into the markup where i want the dynamic content to be placed. hope it helps.

                        A Offline
                        A Offline
                        Abhijit Jana
                        wrote on last edited by
                        #11

                        Greate Solluation !!!!! Do you have any answer of my last Question that i have post regarding TextBox? Any kind of help !!!

                        Best Regards ----------------- Abhijit Jana Microsoft Certified Professional "Success is Journey it's not a destination"

                        1 Reply Last reply
                        0
                        • J J4amieC

                          you're very welcome. Remember if you want events from any of these dynamically created controls you need to re-create them after postback. It gets tricky quickly.

                          W Offline
                          W Offline
                          wbeetge
                          wrote on last edited by
                          #12

                          Yes, I tried this by creating the table in a Web User control, and found that same problem. But though it worked in Dev, I could not build the site with the control - all kinds of errors. So, now I have to resort to a basic dynamic creation of this table.

                          1 Reply Last reply
                          0
                          • S Sneaki

                            Well the problem with merging is that due to the fact that the cells has nothing in it the table just ignores it, therefore best way to prevent that is putting something in it like a label, textbox, etc. But if you would like to leave it blank then best option is insert a new line statement "
                            ".

                            Then you could try to do it in the code-behind with the feature of Response.Write("...html coding...."), i tried it with a picture e.g. This is adding a picture with a string from the database to a checkListBox collection cblNames.Items.Add((string)readerSet["Nam"] + "

                            "); Any other questions be free to ask, i'll try my best...

                            W Offline
                            W Offline
                            wbeetge
                            wrote on last edited by
                            #13

                            Thanks everyone. I can continue with your suggestions

                            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