蓝驿笔记 —ASP.Net笔记 之数据绑定和数据类型操作 [一]
数据绑定
4.DataSet 是应用程序从数据源中检索到的数据在内存中的缓存。结构和关系型数据库的结构和类似,有表、关系和约束的集合组成。
一般使用 private DataSet myDS=new DataSet();
5. 绑定到数据库
需要显示数据库中的某些数据。除了把数据库中的数据读取到DataSet对象中并把空间绑定到DataSet对样的方法外,还可以把控件直接绑定到数据库。
例如: ListBox.DataSource=sqlCommand.ExecuteReader();
ListBox.DataTextField=”CompanyName”;
ListBox.DataValueField=”CustomerID”;
ListBox.DataBind();
6. 常用控件的数据绑定
6.1 DropDownList控件
ArrayList myArrayList =new ArrayList();
myArrayList.Add(“苹果”);
myArrayList.Add(“香蕉”);
myArrayList.Add(“葡萄”);
myArrayList.Add(“橘子”);
DropDownList.DataSource=myArrayList;
DropDownList.DataBind();
6.2 RadioButtonList控件
If(RadioButtonList.SelectedIndex>-1)
{
…….
}
6.3 CheckBoxList
CheckBoxList.Item.Count
CheckBoxList.Item[i].Selected
7. DataGrid控件数据绑定
通过编辑DataGrid控件的属性可以实现对其中的显示的数据进行选择、编辑、更新以及添加排序、分页登。
8.DataList控件数据绑定。
DataLost控件没有固定的外形,在使用前需要编辑其模板。编辑外形之候,在代码中数据源绑定在DataList上,指定好在DataList中显示的字段名称,DataList就可以使用了。
例:
㈠在HTML页面代码:
<asp:DataList id=” ” runat=”server”>
<ItemTemplate>
<p>雇员编号:<%# Databinder.Eval(Container.DataItem,”EmployeeID”)%>
<P>……
……
</ItemTemplate>
</asp:DataList>
㈡在页面后台:
创建数据库连接,然后填充到DataSet,再绑定到数据集
DataList.DataSource=myDS;
DataList.DataBind();
9. DataGrid
DataGrid中使用分页。
属性设置允许分页,然后把e.NewPageIndex更新DataGrid控件的CurrentPageIndex属性,然后使用DataBind方法重新把DataGrid控件绑定到数据源。
10. DataList
DataList获取数据源候,由于没有在界面上找到放置他们的合适位置。需要将这些从数据库中取得的数据”填写”在界面上。在HTML视图中完成。
例:<IMG id=Img1 src=’<%# DataBinder.Eval(Container.DataItem,”title_id”,”images/title-{0}.jpg”) %>’>
<asp:linkbutton id=Linkbutton1 Text=’<%#DataBinder.Eval(Container.DataItem,”title”) %>’ CommandName=”select”></asp:linkbutton>
<B>价格:</B><%# DataBinder.Eval(Container.DataItem,”price”,”${0}”) %>
提供四种类型
ItemTemple(普通项)-奇数项 、SelectedItemTemple(选中项) 、AlternatingItemTemple(交叉项)-偶数项和EditItemTemplate(可编辑项)
显示数据 跟DataGrid一样。DataList.DataSource=ds.Tables[“Book”].DefaultView;
有这样的写法,在Page_Load方法中,先写好数据库连接和适配器、DataSet。然后在使用
If (!Page.IsPostBack)
{
DataList.DataBind(); //而不是写在Page_Load一开始
}
DataList包括SelectedIndexChanged、CancleCommand、EditCommand、UpdateCommand等。
SelectedIndexChanged事件。
首先主键取得:
String title=MyDataList.DataKeys[MyDataList.SelectedItem.ItemIndex].ToString();
SqlDataAdapter myCommand=new SqlDataAdapter(“select * from Titles where title_id=’”+title+”’”,myConnection);
DataSet ds=new DataSet();
myCommand.Fill(ds,”bookNameInfo”);
DataRowView rowview=ds.Tables[“bookNameInfo”].DefaultView[0];
Image.Src=”images/”+rowview[“title_id”]+”.jpg”;
……
MyDataList.DataBind();
11. Repeater控件
Repeater控件不是有WebControl类派生而来
模板提供:ItemTemplate 、AlternatingItemTemplate 、HeaderTemplate 、FooterTemplate 、SeparatorTemplate
例:Slect CompanyName,ContactName From Customers 后台数据绑定后,HTML中把取出的数据按一定的格式显示出来。<%# DataBinder.Eval(Container,”DataItem.CompanyName”) %>
数据类型操作
集合类(列表、队列、位数组、哈希表和字典) 、字符串、日期和时间。
1.CollectionBase 类是强类型集合提供的四抽象基类,不能直接使用,只能继承该类,从而继承它的一些属性和方法。该类的目的是使得实施者在创建强类型自定义集合时变得更容易,不需要再创建自己的基类。
2.SortedList 类
SortedList 类表示键/值对的集合。使用它的好处时SortedList对象的元素可以排序。
例:
SortedList mySortedList=new SortedList();
mySortedList.Add(“2”,柑橘”);
MyListBox.DataSource=mySortedList.Values;
MyListBox.DataBind();
3.Stack 类
即堆栈。后进先出的集合。Push 和 Pop 方法。
l 压栈操作
Stirng MyString=”abc”;
myStack.Push(MyString);
l 弹栈操作
myStack.Pop();
3.字符串操作
插入Insert、替换 Replace 、删除 Trim 、TrimEnd 、TrimStart 和Remove
例: string MyString=”0|81234568|0”; string Mystr=””0|8;
Trim 方法用于删除字符串中所有与该方法的参数匹配的字符或字符串。
string MyString=MyString.Trim(Mystr.ToCharArray());
result: MyString=”123456”;
TrimEnd方法用于删除字符串结尾在该方法中给出的参数匹配的字符或字符串。
string MyString =MyString.TrimEnd(Mystr.ToCharArray());
result: MyString=”0|8123456”
TrimeStart
Result: MyString=”1234568|0”
Remove
字符串比较
CompareTo 返回值0,-1,1
Equals、StartsWith、EndsWith返回值 true, false
返回值=字符串.方法(另一个字符串)
StringBuilder 类
Append 、Replace 、Remove、Insert方法、MaxCapacity、Length属性
Append追加、MaxCapacity获取StringBuilder对象的最大容量