ColGroup for a table element gets lost when the table element is made visible/invisible

T

TS

I am losing my colgroup html element of a table that i toggle back and forth
of being visible=true/false. is there any workaround since the rendered html
doesn't contain it even though it has not been explicitely been made
invisible?

note also that even when the table is made visible=true, colgroup still
doesn't show up
 
E

Eliyahu Goldin

What is the meaning of colgroup with visible=false? What exactly do you want
to achieve? Just note that server controls with visible=false don't render
to the client and don't come back in postbacks.
 
S

Steven Cheng[MSFT]

Hi TS,

From your description, you're using some ASP.NET Table control in aspx
page(is it asp:Table or html table control?) and you found that the
<colgroup> defined in table will not display after you've ever set Table
control's Visible to "false" ,correct?

As for the <colgroup> since it is html snippet, how did you insert into the
server control? Are you using the <asp:Table> server control or <table
runat="server" > html server control? Based on my experience, it is
recommended to use html server control if you want to deal with some pure
html fragment or some html specific attrribute or style settings on the
control. Also, for "Visible" property, as "Eliyahu" said, if you set server
control's "Visible" to "false", ASP.NET won't render it in the output html.
So I suggest you consider use the css style "display" attribute to hide a
control. e.g.

===============
<table id="tb1" runat="server" style="display:none">
<colgroup></colgroup>
<colgroup style="background-color:Yellow"></colgroup>
<tr>

<td>aaaa</td>
<td>bbbb</td>
</tr>
<tr>

<td>cccc</td>
<td>dddd</td>
</tr>
</table>
===============

You can set html table control's "display" style to "none" and change it in
either server-side ASP.NET code or client-side javascript code.

Of course, if convenient, you can post some code snippet so that we can
also have a look into it. If there is anything we missed, please feel free
to post here also.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead



==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.



Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.

==================================================


This posting is provided "AS IS" with no warranties, and confers no rights.
 
T

TS

hi, I am using html table control with runat=server. Actually the issue is
when i first set the table to invisible, then to visible - the colgroup
doesn't appear. If i wrap the table inside another container control
(another html table) and set it to invisible then visible it works fine.
seems like the colgroup element gets dropped.
 
S

Steven Cheng[MSFT]

Hi TS,

Thanks for your reply and the further description.

I have performed some further tests on this and did find the behavior you
encounter. Actually, this behavior as below:

** as long as you mark the html <table> as "runat=server", it will ignore
any "<colgroup> elements nesteed in it.
** if you remove the "runat=server", make it a pure html element, it can
work correctly with <colgroup> or other complex table settings

And this is due to the design limitation of htmltable server control. You
can also find the description on this in the MSDN document of htmltable
class:

#HtmlTable Class(in the Note section)
http://msdn2.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltabl
e(VS.80).aspx

Therefore, for your scenaro here, I think your current solution that use a
container server control to wrapper the pure html <table> element should be
the reasonable approach.

If you have any further questions on this, please feel free to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
 
S

Steven Cheng[MSFT]

Hi TS,

Does the further information helps you some? If there is still anything
need help, please feel free to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top