关键字 ArrayList Select DataTable DataRelation 演示代码
DataGrid、ListBox 和 HTMLSelect 这样的列表服务器控件将集合用作数据源。
这些控件只能绑定到支持 IEnumerable、ICollection 或 IListSource 接口的集合。
最常见的是绑定到 ArrayList、Hashtable、DataView 和 DataReader。
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") %>
ArrayList //动态数组--实现 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;
Select // 控件编程方程生成表格
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>
DataTable //内存中的表
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);
DataRelation //在内存中给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();
}