On Sat, 02 Aug 2003 00:51:58 GMT, Matt <me***@rocks.co m> wrote:
A solution could be a PlaceHolder control.
Suppose that you have the result of your query in a DataReader. You
loop through each field of a row, then you add dynamic checkboxes in
the PlaceHolder. That way you can set the label and the checked value
easily within your query.
Everything is dynamic so you don't have to modify your webform, you
just modify your query instead. Hope this helps!
Thanks for the tip!
What I ended up doing was writing a little helper function to generate
the code for me. We had a table that listed the field name in one
column and the label (the question that was being checked yes or no)
in another, so I queried that and generated all the
<asp:checkbox.. ....></asp:checkbox>, setting their IDs to
"chkFIELDNA ME" and adding 15 to their TOP value. I pasted the output
of that right into the HTML window of the app, and that was it! I
just had to arrange them on the form.
The webform binds all the checkboxes (plus the handful of text boxes)
using this.databind() in the page load event
Here's the bulk of the code for the helper function if anyone wants to
use it!
string outstring="";
string colname="";
foreach(System. Data.DataColumn dc in
dataSet11.Table s["View2"].Columns)
{
toppos+=15;
colname=dc.Colu mnName;
outstring+="<as p:CheckBox id=chk" + colname + "
style=\"Z-INDEX: 107; LEFT: 400px; POSITION: absolute; TOP: " +
toppos.ToString () + "px\" runat=\"server\ " Text=\"" + colname + "\"
Height=\"4px\" Width=\"60px\" Checked='<%# DataBinder.Eval (dataSet11,
\"Tables[VIEW2].DefaultView.[0]." + colname + "\")
%>'></asp:CheckBox>\r \n" ;
}