主頁(yè) > 知識(shí)庫(kù) > C#數(shù)據(jù)綁定控件中的DataSource屬性淺談

C#數(shù)據(jù)綁定控件中的DataSource屬性淺談

熱門標(biāo)簽:電話機(jī)器人軟件銷售工作 申請(qǐng)400電話手續(xù) 合肥電銷外呼系統(tǒng)哪家公司做的好 百度ai地圖標(biāo)注 蘋果手機(jī)凱立德地圖標(biāo)注 同安公安400電話怎么申請(qǐng)流程 預(yù)測(cè)式外呼系統(tǒng)使用說明 玉林市機(jī)器人外呼系統(tǒng)哪家好 南陽(yáng)外呼系統(tǒng)定制化

有的時(shí)候,你在編程進(jìn)入一定階段,進(jìn)一步提升很困難的境況之下,不妨回過頭來(lái)看看基礎(chǔ)的東西,或許你會(huì)有新的受益,或許能夠真正的體會(huì)到孔夫子所謂的“溫故而知新”的真正內(nèi)涵。
常用的C#數(shù)據(jù)綁定控件有:Repeater、DataList、GridView、DetailsView等,在這里我拿Repeater來(lái)簡(jiǎn)單說明問題。
使用該屬性指定用來(lái)填充Repeater控件的數(shù)據(jù)源。DataSource可以是任何System.Collections.IEnumerable對(duì)象,
如用于訪問數(shù)據(jù)庫(kù)的System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable、數(shù)組或IListSource對(duì)象。
常用的數(shù)據(jù)源:
一個(gè)DataTable
一個(gè)DataView
一個(gè)DataSet
任何實(shí)現(xiàn)IListSource接口的組件
任何實(shí)現(xiàn)IList接口的組件
注意:
若要綁定到對(duì)象的強(qiáng)類型數(shù)組,該對(duì)象類型必須包含公共屬性。
下面通過幾個(gè)簡(jiǎn)單的實(shí)例來(lái)介紹DataSource的具體應(yīng)用。
1>綁定DataTable,一般都是從數(shù)據(jù)庫(kù)取出數(shù)據(jù),然后直接進(jìn)行綁定,具體的數(shù)據(jù)庫(kù)操作的邏輯不再提供。想必大家都已經(jīng)非常熟悉。綁定DataView與這個(gè)類似。
程序代碼

復(fù)制代碼 代碼如下:

privatevoidBindData() 

//通過業(yè)務(wù)邏輯,直接調(diào)用數(shù)據(jù)庫(kù)中的數(shù)據(jù) 
DataTablenTable=getTable(); 

Repeater1.DataSource=nTable; 
Repeater1.DataBind(); 
}

HTML代碼
C#數(shù)據(jù)綁定控件程序代碼

復(fù)制代碼 代碼如下:

asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server">
HeaderTemplate>
table>
tr>
thscopethscope="col">
姓名th>
th>
年齡th>
tr>
HeaderTemplate>
ItemTemplate>
tr>
td>
%#Eval("Key")%>
td>
td>
%#Eval("value")%>
td>
tr>
ItemTemplate>
FooterTemplate>
table>FooterTemplate>
asp:Repeater>

2>綁定Array、ArrayList、List、一維數(shù)組之類,里面存儲(chǔ)簡(jiǎn)單的數(shù)據(jù)。
ArrayList
C#數(shù)據(jù)綁定控件程序代碼

復(fù)制代碼 代碼如下:

privatevoidBindData() 

ArrayListlist=newArrayList(); 
list.Add("Jim"); 
list.Add("Tom"); 
list.Add("Bluce"); 
list.Add("Mary"); 

Repeater1.DataSource=list; 
Repeater1.DataBind(); 
}

HTML適當(dāng)改變
程序代碼
復(fù)制代碼 代碼如下:

asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server">
HeaderTemplate>table>tr>thscopethscope="col">姓名th>tr>HeaderTemplate>
ItemTemplate>tr>td>%#Container.DataItem%>td>tr>ItemTemplate>
FooterTemplate>table>FooterTemplate>
asp:Repeater>

3>綁定Dictionary、HashTable
Dictionary
C#數(shù)據(jù)綁定控件程序代碼
復(fù)制代碼 代碼如下:

privatevoidBindData() 

Dictionarystring,int>dic=newDictionarystring,int>(); 
dic.Add("Jim",21); 
dic.Add("Tom",26); 
dic.Add("Bluce",33); 
dic.Add("Mary",18); 

Repeater1.DataSource=dic; 
Repeater1.DataBind(); 
}

HTML代碼
程序代碼
復(fù)制代碼 代碼如下:

asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server">
HeaderTemplate>table>tr>thscopethscope="col">姓名th>th>年齡th>tr>HeaderTemplate>
ItemTemplate>tr>td>%#Eval("Key")%>td>td>%#Eval("value")%>td>tr>ItemTemplate>
FooterTemplate>table>FooterTemplate>
asp:Repeater>

4>綁定對(duì)象集合,IList等。這個(gè)很是有用,在我們進(jìn)行數(shù)據(jù)查詢的時(shí)候,經(jīng)常從數(shù)據(jù)庫(kù)取出數(shù)據(jù),為了方便操作,需要封裝成對(duì)象,但是有的時(shí)候需要將這些對(duì)象以列表的形式顯示出來(lái),一種解決方案:對(duì)象轉(zhuǎn)換為DataTable,另一種就是直接調(diào)用數(shù)據(jù)庫(kù)。這兩種方案,并不是很理想。而這里直接將對(duì)象集合直接綁定到數(shù)據(jù)顯示控件,給我指明一條出路。其實(shí),在PetShop4.0就是利用這一點(diǎn),綁定ICollection或者IList。簡(jiǎn)單明了。
一個(gè)簡(jiǎn)單的用戶類,包含兩個(gè)公共屬性。
程序代碼
復(fù)制代碼 代碼如下:

usingSystem; 
usingSystem.Data; 

///

///SummarydescriptionforUser 
///

publicclassUser 

privatestring_Name; 
publicstringName 

get{return_Name;} 
set{_Name=value;} 

privateint_Age; 
publicintAge 

get{return_Age;} 
set{_Age=value;} 

publicUser() 

// 
//TODO:Addconstructorlogichere 
// 

publicUser(stringname,intage) 

_Name=name; 
_Age=age; 

}


綁定對(duì)象集合:
IList
程序代碼
復(fù)制代碼 代碼如下:

privatevoidBindData() 

Useruser1=newUser("Jim",21); 
Useruser2=newUser("Tom",23); 
Useruser3=newUser("Bluce",33); 
Useruser4=newUser("Mary",18); 

IListUser>list=newListUser>(); 
list.Add(user1); 
list.Add(user2); 
list.Add(user3); 
list.Add(user4); 

Repeater1.DataSource=list; 
Repeater1.DataBind(); 
}

對(duì)應(yīng)的Repeater綁定對(duì)象的公共屬性:
C#數(shù)據(jù)綁定控件程序代碼
復(fù)制代碼 代碼如下:

asp:RepeaterIDasp:RepeaterID="Repeater1"runat="server">
HeaderTemplate>
table>
tr>
thscopethscope="col">
姓名th>
th>
年齡th>
tr>
HeaderTemplate>
ItemTemplate>
tr>
td>
%#Eval("Name")%>
td>
td>
%#Eval("Age")%>
td>
tr>
ItemTemplate>
FooterTemplate>
table>FooterTemplate>
asp:Repeater>

您可能感興趣的文章:
  • C#數(shù)據(jù)綁定(DataBinding)簡(jiǎn)單實(shí)現(xiàn)方法
  • c#數(shù)據(jù)綁定之linq使用示例
  • c#數(shù)據(jù)綁定之向查詢中添加參數(shù)(.Net連接外部數(shù)據(jù)庫(kù))
  • c#數(shù)據(jù)綁定之?dāng)?shù)據(jù)轉(zhuǎn)化為信息的示例
  • c#數(shù)據(jù)綁定之刪除datatable數(shù)據(jù)示例
  • c#數(shù)據(jù)綁定之將datatabel的data添加listView
  • C# TextBox數(shù)據(jù)綁定的方法

標(biāo)簽:揚(yáng)州 淄博 臺(tái)州 南昌 南京 海南 南京 嘉興

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《C#數(shù)據(jù)綁定控件中的DataSource屬性淺談》,本文關(guān)鍵詞  數(shù)據(jù),綁定,控件,中的,DataSource,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《C#數(shù)據(jù)綁定控件中的DataSource屬性淺談》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于C#數(shù)據(jù)綁定控件中的DataSource屬性淺談的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章