您的位置:首页 > 运维架构

数据绑定服务器控件

2006-04-15 19:44 423 查看

[b]绑定到集合和列表

关键字   ArrayList    Select   DataTable    DataRelation   演示代码

DataGridListBoxHTMLSelect 这样的列表服务器控件将集合用作数据源。
这些控件只能绑定到支持 IEnumerableICollectionIListSource 接口的集合。
最常见的是绑定到 ArrayListHashtableDataViewDataReader关键字:ArrayList Select DataTableDataRelation代码演示
[/b] 

AlternatingItemTemplate   :指定如何显示每一其它选项。
ItemTemplate              :指定如何显示选项。(AlternatingItemTemplate可以覆盖这一模板。)
HeaderTemplate            :建立如何显示标题。
FooterTemplate            :建立如何显示页脚。
SeparatorTemplate         :指定如何显示不同选项之间的分隔符。
 


DataBinder.Eval()  //方法:该方法用在运行时计算绑定表达式。该方法有三个参数:
A、数据项的命名容器:命名容器是一个对象引用,该对象即是计算表达式所针对的对象。如果绑定是针对列表控件(如Repeater、DataList或DataGrid)的,则命名容器将始终是Container.DataItem。如果绑定是针对页面的,则命名容器是Page。
B、 数据字段名:绑定表格的列名(此例如“平方”等)。
C、 格式字符串
如果要求高性能,不建议使用DataBinder.Eval()方法

<%@ Import namespace="System.Data" %>
<%# DataBinder.Eval(Container.DataItem,"xxxx")%> 或者           <%# DataBinder.Eval(Container,"DataItem.xxxx")%>
<%# ((DataRowView)Container.DataItem)["xxxx"]%>  这种用法其实和 <%# ((DictionaryEntry)Container.DataItem).Key%>是一个道理。
 <%# ((DataRowView)Container.DataItem).Row.GetChildRows("rebook") %>
DataSource='<%# GetGlobalCategory(int.Parse(DataBinder.Eval(Container.DataItem, "CategoryID").ToString())) %>'>
<%# Container.DataItem.Row.GetChildRows("myrelation") %>
//动态数组--实现 IList 接口

DropDown1.SelectedItem.Text;[b] 
//选择的内容
ArrayList values = new ArrayList();
values.Add ("IN>");
values.Add ("KS");
values.Add ("MD");
values.Add ("MI");
values.Add ("OR");
values.Add ("TN");
DropDown1.DataSource = values;

[/b]
// 控件编程方程生成表格

Select1.Items.Count        //合计
Select1.Items[i].Selected  //检查被选择中值
Select1.Items[i].Text;     //内容

<select id="Select1" Multiple="True" runat="server">

<option value="1" Selected="True"> Item 1 </option>
<option value="2"> Item 2 </option>
<option value="3"> Item 3 </option>
<option value="4"> Item 4 </option>
<option value="5"> Item 5 </option>
<option value="6"> Item 6 </option>

</select>

//内存中的表

DataSet.Tables.Add(DataTable); //把表赋给DataSet

DataSet    //多个表集合
DataTable  //内存中数据的一个表
DataColumn //表的列集合
DataRow    //表的行集合
DataTable.Columns.Add(DataColumn);  //增加1列
DataTable.NewRow()  //方法来生成此DataTable结构的新行
DataColumn.Expression //属性的表达式创建一些列
ChildRelations        //父表
ParentRelations       //子表

DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("整数值", typeof(Int32)));
dt.Columns.Add(new DataColumn("字符串值", typeof(string)));
dt.Columns.Add(new DataColumn("日期时间值", typeof(DateTime)));
dt.Columns.Add(new DataColumn("布尔值", typeof(bool)));
for (int i = 1; i <= 9; i++)
{
    dr = dt.NewRow();
    dr[0] = i; dr[1] = "项 " + i.ToString();
    dr[2] = DateTime.Now; dr[3] = (i % 2 != 0) ? true : false; dt.Rows.Add(dr);
}
dataGrid1.DataSource = new DataView(dt);



  //在内存中给DataTable间建立关系

//           关系名     父列       子表列   ----建立关系的两个列的 DataType 值必须相同
DataRelation(String, DataColumn, DataColumn)  
  public void Page_Load(object sender, EventArgs e)
{
    SqlConnection cnn = new SqlConnection("server=(local);database=pubs;uid=sa;pwd=;");
    SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors",cnn);
    DataSet ds = new DataSet();
    cmd1.Fill(ds,"authors");
    SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor",cnn);
    cmd2.Fill(ds,"titles");
    ds.Relations.Add("myrelation"),ds.Tables["authors"].Columns["au_id"],ds.Tables["titles"].Columns["au_id"]);    parent.DataSource = ds.Tables["authors"];
    Page.DataBind();
    cnn.Close();
}
  http://qinfei.cnblogs.com/archive/2005/11/03/268203.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息