本文整理汇总了C#中System.Web.UI.WebControls.Adapters.DataBoundControlAdapter类的典型用法代码示例。如果您正苦于以下问题:C# DataBoundControlAdapter类的具体用法?C# DataBoundControlAdapter怎么用?C# DataBoundControlAdapter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DataBoundControlAdapter类属于System.Web.UI.WebControls.Adapters命名空间,在下文中一共展示了DataBoundControlAdapter类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderContents
//引入命名空间
using System;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Collections;
using System.Security.Permissions;
namespace MyControls
{
// MyDataBound control is a simple read-only grid control.
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class MyDataBound : System.Web.UI.WebControls.DataBoundControl
{
// This is an enumerator for the data source.
IEnumerator dataSourceEnumerator = null;
// Render the data source as a table, without row and column headers.
protected override void RenderContents(
System.Web.UI.HtmlTextWriter writer)
{
// Render the <table> tag.
writer.RenderBeginTag(HtmlTextWriterTag.Table);
// Render the table rows.
while (dataSourceEnumerator.MoveNext())
{
// Get the next data row as an object array.
object[] dataArray =
((DataRowView)dataSourceEnumerator.Current).Row.ItemArray;
// Render the <tr> tag.
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
// Render the fields of the row.
for(int col = 0; col<dataArray.GetLength(0) ; col++)
{
//Render the <td> tag, the field data and the </td> tag.
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write(dataArray[col]);
writer.RenderEndTag();
}
// Render the </tr> tag.
writer.RenderEndTag();
}
// Render the </table> tag.
writer.RenderEndTag();
}
// Data binding consists of saving an enumerator for the data.
protected override void PerformDataBinding(IEnumerable data)
{
dataSourceEnumerator = data.GetEnumerator();
}
}
// MyDataBoundAdapter modifies a MyDataBound control to display a
// grid as a list with row separators.
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class MyDataBoundAdapter :
System.Web.UI.WebControls.Adapters.DataBoundControlAdapter
{
// Returns a strongly-typed reference to the MyDataBound control.
public new MyDataBound Control
{
get
{
return (MyDataBound)base.Control;
}
}
// One-dimensional list for the grid data.
ArrayList dataArray = new ArrayList();
// Copy grid data to one-dimensional list, add row separators.
protected override void PerformDataBinding(IEnumerable data)
{
IEnumerator dataSourceEnumerator = data.GetEnumerator();
// Iterate through the table rows.
while (dataSourceEnumerator.MoveNext())
{
// Add the next data row to the ArrayList.
dataArray.AddRange(
((DataRowView)dataSourceEnumerator.Current).Row.ItemArray);
// Add a separator to the ArrayList.
dataArray.Add("----------");
}
}
// Render the data source as a one-dimensional list.
protected override void RenderContents(
System.Web.UI.HtmlTextWriter writer)
{
// Render the data list.
for( int col=0; col<dataArray.Count;col++)
{
writer.Write(dataArray[col]);
writer.WriteBreak();
}
}
}
}