天天看點

藍驿筆記 —ASP.Net筆記 之資料綁定和資料類型操作[待續]

藍驿筆記 —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對象的最大容量

 twh.cnblogs.com