数据绑定服务器控件

绑定到集合和列表

关键字   ArrayList    Select   DataTable    DataRelation   演示代码

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

 



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;  //选择的内容
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;



// 控件编程方程生成表格

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值