A
Al Wilkerson
Hey,
I have a Web Form with a drop down list, textbox, and search button.
When click the search button an SQL server database is queried fordata.
Once I have the data in a dataset I use the dataset to dynamically create a
Html Table control.
I want to display the table on another frame page (target="main") without
the web form controls (i.e. the textbox, search button, and dropdown list).
I just want the table displayed only on the new seperate frame page.
Problem 1 - The HTML Table does not display at all
Problem 2 - The original web form controls are displayed on the new page
When debug the correct data is retrieved from DB and the rows are populated.
But the table does not display.
In the following Code-Behind file example "maxrows" = 1 and "maxcolumns" = 8
------
protected System.Web.UI.HtmlControls.HtmlTable t1;
protected System.Web.UI.HtmlControls.HtmlSelect ddlSearch;
protected System.Web.UI.HtmlControls.HtmlInputText txtSearch;
protected System.Web.UI.HtmlControls.HtmlInputButton btnSearch;
try
{
sDa = new OleDbDataAdapter(lSql,sConn);
sDa.Fill(ds, "Products");
}
catch(Exception ex)
{
Response.Write("Problem filling DataSet " + ex.Message);
}
try
{
t1 = new HtmlTable();
int maxrows = 0;
int maxcolumns = 0;
maxrows = ds.Tables["Products"].Rows.Count;
maxcolumns = ds.Tables["Products"].Columns.Count;
int row = 0;
for( int i = 0; i < maxrows; i++)
{
HtmlTableRow r = new HtmlTableRow();
row = row + 1;
for( int j = 0; j < maxcolumns; j++)
{
HtmlTableCell c = new HtmlTableCell();
c.Controls.Add(new
LiteralControl(Convert.ToString(ds.Tables["Products"].Rows[j])));
r.Cells.Add(c);
}
t1.Rows.Add(r);
}
t1.Visible = true;
ASPX File
------------
<body MS_POSITIONING="GridLayout">
<TABLE id="t1" bgcolor="silver" border="5" align="right" runat="server">
</TABLE>
<form id="Search" method="post" target="main" runat="server">
<SELECT id="ddlSearch" style="Z-INDEX: 101; LEFT: 35px; POSITION:
absolute; TOP: 37px" runat="server">
<OPTION value="Title" selected>Title</OPTION>
<OPTION value="Type">Type</OPTION>
<OPTION value="Author">Author</OPTION>
<OPTION value="Edition">Edition</OPTION>
<OPTION value="Copyright">Copyright</OPTION>
</SELECT>
<INPUT id="btnSearch" style="Z-INDEX: 102; LEFT: 318px; POSITION:
absolute; TOP: 38px" type="button" value="Search" runat="server">
<INPUT id="txtSearch" style="Z-INDEX: 103; LEFT: 130px; POSITION:
absolute; TOP: 37px" type="text" runat="server">
I have a Web Form with a drop down list, textbox, and search button.
When click the search button an SQL server database is queried fordata.
Once I have the data in a dataset I use the dataset to dynamically create a
Html Table control.
I want to display the table on another frame page (target="main") without
the web form controls (i.e. the textbox, search button, and dropdown list).
I just want the table displayed only on the new seperate frame page.
Problem 1 - The HTML Table does not display at all
Problem 2 - The original web form controls are displayed on the new page
When debug the correct data is retrieved from DB and the rows are populated.
But the table does not display.
In the following Code-Behind file example "maxrows" = 1 and "maxcolumns" = 8
------
protected System.Web.UI.HtmlControls.HtmlTable t1;
protected System.Web.UI.HtmlControls.HtmlSelect ddlSearch;
protected System.Web.UI.HtmlControls.HtmlInputText txtSearch;
protected System.Web.UI.HtmlControls.HtmlInputButton btnSearch;
try
{
sDa = new OleDbDataAdapter(lSql,sConn);
sDa.Fill(ds, "Products");
}
catch(Exception ex)
{
Response.Write("Problem filling DataSet " + ex.Message);
}
try
{
t1 = new HtmlTable();
int maxrows = 0;
int maxcolumns = 0;
maxrows = ds.Tables["Products"].Rows.Count;
maxcolumns = ds.Tables["Products"].Columns.Count;
int row = 0;
for( int i = 0; i < maxrows; i++)
{
HtmlTableRow r = new HtmlTableRow();
row = row + 1;
for( int j = 0; j < maxcolumns; j++)
{
HtmlTableCell c = new HtmlTableCell();
c.Controls.Add(new
LiteralControl(Convert.ToString(ds.Tables["Products"].Rows[j])));
r.Cells.Add(c);
}
t1.Rows.Add(r);
}
t1.Visible = true;
ASPX File
------------
<body MS_POSITIONING="GridLayout">
<TABLE id="t1" bgcolor="silver" border="5" align="right" runat="server">
</TABLE>
<form id="Search" method="post" target="main" runat="server">
<SELECT id="ddlSearch" style="Z-INDEX: 101; LEFT: 35px; POSITION:
absolute; TOP: 37px" runat="server">
<OPTION value="Title" selected>Title</OPTION>
<OPTION value="Type">Type</OPTION>
<OPTION value="Author">Author</OPTION>
<OPTION value="Edition">Edition</OPTION>
<OPTION value="Copyright">Copyright</OPTION>
</SELECT>
<INPUT id="btnSearch" style="Z-INDEX: 102; LEFT: 318px; POSITION:
absolute; TOP: 38px" type="button" value="Search" runat="server">
<INPUT id="txtSearch" style="Z-INDEX: 103; LEFT: 130px; POSITION:
absolute; TOP: 37px" type="text" runat="server">