Displaying Database Information Using a Table Control

While for many applications, it is easier to display data-bound information using
the Repeater, DataList, or DataGrid, it is possible to display database information
using the Table Web server control.

In the most common scenario for displaying data in a Table control, each row of the
table represents a data row from the data source, and each cell of the table displays
a single field from a row. Unlike the list controls ( Repeater, DataList, etc. ),
the Table control does not have a mechanism for automatically iterating through the
rows in a data source. Therefore, you must do this yourself.

For general details about data binding in Web server controls, see Web Forms Data
Binding.
To display database information in a Table Web server control

* Set the contents of a TableCell control to the data to be displayed.
Most often you set the cell's Text property to an expression that extracts
data from a data source. It is also possible to include controls in a TableCell
control and bind the controls to a source of data. For details about using controls
to display information, see Adding Rows and Cells Dynamically to a Table Control.

The following example illustrates one way to display data in a Table control.
The sample shows an event-handling method for a button. The method loops through
the DefaultView object of a dataset, creating a TableRow control for each row in
the dataset. The code then creates a TableCell control in each table row and sets its
Text property to the "Id" field of the current data row.


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DynamicTextBox.aspx.cs" Inherits="DynamicTextBox" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
   <title>Untitled Page</title>
</head>
<body>
   <form id="form1" runat="server">
   <div>
       <asp:Table ID="Table1" runat="server" CellPadding="2" CellSpacing="2">
       </asp:Table>
       <asp:Button ID="btnFill" runat="server" Text="Fill" OnClick="btnFill_Click" />
   </div>
   </form>
</body>
</html>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class DynamicTextBox : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
   {


   }
   public DataTable GetCustomMadeDataTable()
   {

       //Create a new DataTable object

       System.Data.DataTable objDataTable = new System.Data.DataTable();

       //Create three columns with string as their type

       objDataTable.Columns.Add("Id", typeof(string));
       objDataTable.Columns.Add("Column1", typeof(string));
       objDataTable.Columns.Add("Column2", typeof(string));
       objDataTable.Columns.Add("Column3", typeof(string));


       //Adding some data in the rows of this DataTable

       DataRow dr;
       for (int i = 0; i <= 10; i++)
       {
           dr = objDataTable.NewRow();
           dr[0] = "Id" + i.ToString();
           dr[1] = "Item" + i.ToString();
           dr[2] = "Product" + i.ToString();
           dr[3] = "Description" + i.ToString();
           objDataTable.Rows.Add(dr);
       }
       DataColumn[] dcPk = new DataColumn[1];
       dcPk[0] = objDataTable.Columns["Id"];


       objDataTable.PrimaryKey = dcPk;
       Session["dtTemp"] = objDataTable;
       return objDataTable;
   }
   protected void btnFill_Click(object sender, EventArgs e)
   {
       DataTable dt = GetCustomMadeDataTable() as DataTable;
       DataView dv = dt.DefaultView;
       // Create a row with one column for each row in the DataView       
       foreach (DataRowView dataRow in dv)
       {
           TableRow tRow = new TableRow();
           TableCell tCell = new TableCell();
           TableCell tCell2 = new TableCell();
           TableCell tCell3 = new TableCell();
           tCell.Text = dataRow.Row.ItemArray[0].ToString();
           tCell2.Text = dataRow.Row.ItemArray[1].ToString();
           tCell3.Text = dataRow.Row.ItemArray[2].ToString();
           tRow.Cells.Add(tCell);
           tRow.Cells.Add(tCell2);
           tRow.Cells.Add(tCell3);
           Table1.Rows.Add(tRow);
       }
   }
}
Reactions

Post a Comment

1 Comments

Please do not post any spam link in the comment box😊

Emoji
(y)
:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
x-)
(k)

Close Menu