DataGrid Control
DataGrid Control ช่วยให้คุณสามารถสร้างรายการรูปแบบแหล่งข้อมูลที่สมบูรณ์ นอกจากนี้ยังรองรับรายการการเลือกด้วยการดำเนินการอื่น ๆ
ตัวอย่างสี่ตัวอย่างของส่วนนี้ใช้ตารางที่รวมข้อมูลชื่อเรื่อง (ชื่อชื่อชื่อผู้แต่งราคาและวันที่เผยแพร่) ข้อมูลทั้งหมดได้รับการดูแลด้วย XML ใน TitleSDB.XML เมื่อสร้างหน้าเพื่อแสดงเนื้อหาของตารางนี้และเลือกหนังสือตัวอย่างเหล่านี้เป็นไปตามวิธีที่เพิ่มขึ้น รายการรหัสประกอบด้วยข้อความตัวถังสีดำเพื่อระบุการเปลี่ยนแปลงที่ทำโดยตัวอย่างที่สร้างขึ้นในตัวอย่างก่อนหน้า
ทดสอบจาก TitleSDB.XML:
<root>
<schema id = documentelement targetNamespace =
xmlns = http://www.w3.org/1999/xmlschema
xmlns: msdata = urn: schemas-microsoft-com: xml-msdata>
<ชื่อองค์ประกอบ = ตาราง>
<complexType content = ElementsEmently>
<element name = title_id type = string> </element>
<element name = tite type = string> </element>
<element name = au_name type = string> </element>
<ชื่อองค์ประกอบ = ราคา msdata: datatype = system.currency
minoccurs = 0
type = string> </element>
<element name = pubdate type = timeinstant> </element>
</complexType>
<nique name = titleConstraint msData: primaryKey = true>
<Selector>
<<field> title_id </field>
</ixy>
</องค์ประกอบ>
</schema>
<เอกสารประกอบ>
<title>
<title_id> bu1032 </tite_id>
<title> คู่มือฐานข้อมูลผู้บริหารที่วุ่นวาย </title>
<m_name> Marjorie Green </au_name>
<ราคา> 19.99 </ราคา>
<Pubdate> 1991-06-12T07: 00: 00 </bubdate>
</title>
ยืดหยุ่น
</documentelement>
</root>
ในเว็บแอปพลิเคชันทั่วไปเพื่อให้ได้ความสามารถในการปรับขนาดและประสิทธิภาพสูงสุดมีแนวโน้มที่จะใช้บริการเว็บหรือวัตถุทางธุรกิจเพื่อเข้าถึงข้อมูล เพื่อลดความซับซ้อนของตัวอย่างเหล่านี้และมุ่งเน้นไปที่การใช้ DataGrid แทนการเข้าถึงข้อมูลเราเลือกที่จะโหลดข้อมูลในครั้งเดียวเมื่อแอปพลิเคชันเริ่มต้นและในสถานะแอปพลิเคชัน ASP ใน Global.asax แสดง
trunk จาก global.asax:
โมฆะสาธารณะ Application_onstart () {) {)
FileStream FS = NULL;
ชุดข้อมูล ds = null;
พยายาม {
fs = new FileStream (Server.Mappath (TITLESDB.XML), fileMode.Open,
fileaccess.read);
ds = ชุดข้อมูลใหม่ ();
// โหลดข้อมูลในไฟล์ XML ไปยังชุดข้อมูล
ds.readxml (fs);
} ในที่สุด {
ถ้า (fs! = null) {
fs.close ();
fs = null;
-
-
// cchestrate ชุดข้อมูลที่ความเร็วสูงไปยังสถานะแอปพลิเคชันเพื่อให้สามารถใช้ในหน้าเดียว
แอปพลิเคชัน [TitleSDataSet] = DS;
-
dataGrid1
DataGrid1 แสดงให้เห็นถึงการใช้งานพื้นฐานของ DataGrid ซึ่งอธิบายว่าการควบคุมใช้รหัสผู้ใช้น้อยที่สุดเพื่อสร้างฟังก์ชั่นที่หลากหลาย
มะเดื่อ
แทรกจาก dataGrid1.aspx:
<%@page language = c# src = dataGrid.cs สืบทอด = samples.datagridPage%>
ยืดหยุ่น
<asp: dataGrid runat = server id = titleSgrid>
</asp: dataGrid>
ไฟล์. aspx ด้านบนแสดงคำสั่งโดยไม่มีแอตทริบิวต์ใด ๆ โดยไม่มีแอตทริบิวต์ใด ๆ ของการควบคุม DataGrid
dataGrid.cs:
ตัวอย่างเนมสเปซ {
ยืดหยุ่น
คลาสสาธารณะ DataGridPage: หน้า {
DataGrid TitlesGrid ที่ได้รับการป้องกัน
สาธารณะ icollection getTitlesList () {
// retore รายการชื่อเรื่องจากชุดข้อมูลของแคชความเร็วสูงในสถานะแอปพลิเคชัน
ชุดข้อมูล TITLESDATASET = (ชุดข้อมูล) แอปพลิเคชัน [TITLESDATASET];
if (titleSdataSet! = null) {
ส่งคืน TitleSdataSet.Tables [title] .defaultView;
-
อื่น {
คืนค่า null;
-
-
โมฆะส่วนตัว LoadTitlesGrid () {) {)
// การค้นหาข้อมูลจากฐานข้อมูล
ICOLLECTION TITLESLIST = getTitlesList ();
// ตั้งค่าแหล่งข้อมูลของการควบคุม
TitlesGrid.datasource = TitleSlist;
// และทำให้มันใช้แหล่งข้อมูลนี้เพื่อสร้างโครงการ
TitlesGrid.databind ();
-
ได้รับการป้องกันการแทนที่โมฆะ overoad (eventargs e) {{
base.onload (e);
ถ้า (! isPostBack) {
// ดูหน้านี้เป็นครั้งแรก
LoadTitlesGrid ();
-
-
-
-
ไฟล์. cs มีรหัสที่ใช้สำหรับหน้านี้ รหัสนี้เหมือนกับฟังก์ชั่นรหัสที่ใช้ในตัวอย่าง Datalist1 ในคำขอแรกสำหรับหน้านี้จะครอบคลุมวิธีการออนไลน์เพื่อดึงข้อมูลและตั้งค่าคุณสมบัติแหล่งข้อมูลของการควบคุมก่อนที่จะเรียก Databind สิ่งนี้จะทำให้ DataGrid สร้างโครงการซึ่งเป็นแถวที่จำเป็นในตาราง ในกระบวนการส่งคืนการประมวลผล DataGrid ได้สร้างโครงการจากสถานะ (สถานะนี้รวมถึงเนื้อหาของเซลล์ที่บันทึกไว้ในคำขอล่าสุด)
ตัวอย่างนี้แสดงให้เห็นถึงฟังก์ชั่นของคุณสมบัติ AutogenerateColumns ของ DataGrid Control ค่าเริ่มต้นของแอตทริบิวต์นี้เป็นจริง เมื่อตั้งค่าเป็นจริง DataGrid จะใช้การสะท้อนกลับเพื่อตรวจสอบแหล่งข้อมูลและวัตถุและสร้างคอลัมน์สำหรับแต่ละแอตทริบิวต์หรือฟิลด์สาธารณะ ในตัวอย่างนี้การควบคุมแสดงถึงฟิลด์ปัจจุบันทั้งหมดในตาราง "ชื่อ" คุณลักษณะนี้ช่วยให้รายการรหัสผู้ใช้น้อยที่สุดสามารถสร้างรายการแหล่งข้อมูลใด ๆ ได้อย่างรวดเร็วและง่ายดาย
คอลัมน์อัตโนมัติแต่ละประเภทคือขอบเขต ประเภทคอลัมน์นี้แปลงค่าแอตทริบิวต์ที่เกี่ยวข้องกับมันเป็นสตริงที่ต้องใช้เป็นหน้าต่าง
dataGrid2
DataGrid2 อธิบาย DataGrid ที่ตั้งค่าโดยคอลัมน์ที่ตั้งไว้ในไฟล์. aspx
รูปที่ 5 ตัวอย่างที่สร้างขึ้นโดยใช้คอลัมน์ที่ระบุ DataGrid
ข้อความที่ตัดตอนมาจาก dataGrid2.aspx:
<%@page language = c# src = dataGrid.cs สืบทอด = samples.datagridPage%>
ยืดหยุ่น
<asp: dataGrid runat = server id = titleSgrid
AutogenerAtecolumns = false>
<poperty name = คอลัมน์>
<ASP: BoundColumn HeadelText = ชื่อเรื่อง datafield = title/>
<ASP: BoundColumn HeadelText = Author DataField = AU_NAME/>
<ASP: HeaderText BoundColumn = วันที่ที่เผยแพร่ DataField = PUBDATE/>
<ASP: HeadelText BoundColumn = Price Datafield = ราคา/>
</property>
</asp: dataGrid>
ไฟล์. aspx นี้แสดงการควบคุม DataGrid พร้อมคอลัมน์ที่กำหนดโดยผู้ใช้ ตัวอย่างนี้ใช้ไฟล์ที่รองรับรหัสเดียวกันเป็น dataGrid1 เนื่องจากไม่จำเป็นต้องใช้รหัส
คุณสมบัติ AutogenerAtecolumns ของ DataGrid ถูกตั้งค่าเป็นปลอมเพื่อป้องกันไม่ให้การควบคุมจากการสร้างคอลัมน์โดยอัตโนมัติและช่วยให้ผู้ใช้ต้องรับผิดชอบในการกำหนดคอลัมน์ที่จะแสดงในตาราง
มีประโยชน์มากมาย:
คุณสามารถควบคุมลำดับของคอลัมน์ รายการตามคำสั่งของคำสั่ง ในทางกลับกันคอลัมน์อัตโนมัติจะถูกแสดงโดยคำสั่งซื้อที่ดึงออกมาจากภาพ
คุณสามารถระบุส่วนหัวของแต่ละคอลัมน์ด้วยคุณสมบัติส่วนหัวคอลัมน์ ในตัวอย่างก่อนหน้าส่วนหัวฉลากระบุชื่อฟิลด์ซึ่งอาจไม่เหมาะสม เมื่อใช้การควบคุมในโหมดนี้ Columbns ยังมีแอตทริบิวต์ที่ตั้งค่าได้อื่น ๆ
ประเภทของคอลัมน์อัตโนมัติจะเป็นขอบเขตเสมอ ระบุชุดคอลัมน์เพื่อให้ผู้ใช้สามารถควบคุมประเภทของแต่ละคอลัมน์
dataGrid3
DataGrid3 ถูกสร้างขึ้นบน DataGrid2 โดยการเพิ่มการจัดรูปแบบและการจัดรูปแบบภาพ
รูปที่ 6 ตัวอย่างที่สร้างโดย dataGrid ที่ตั้งค่าสไตล์และรูปแบบแอตทริบิวต์
ข้อความที่ตัดตอนมาจาก dataGrid3.aspx:
<%@page language = c# src = dataGrid.cs สืบทอด = samples.datagridPage%>
ยืดหยุ่น
<asp: dataGrid runat = server id = titleSgrid
AutogenerAtecolumns = FALSE
ความกว้าง = 80%
backcolor = สีขาว
BorderWidth = 1px BorderStyle = Solid CellPadding = 2 CellSpacing = 0
BorderColor = tan
font-name = เพลงสไตล์ font-size = 8pt>
<poperty name = คอลัมน์>
<ASP: BoundColumn HeadelText = ชื่อเรื่อง datafield = title/>
<ASP: BoundColumn HeadelText = Author DataField = AU_NAME/>
<ASP: BUNTCOLUMN HeaderText = วันที่ที่เผยแพร่ DataField = PUBDATE
dataFormatString = {0: mmm yyyy}/>
<ASP: BUNTECLUMN Headeltext = Price DataField = ราคา
dataFormatString = {0: c}>
<poperty name = itemstyle>
<ASP: TableItemstyle Horizontalalign = Right/>
</property>
</asp: BounddColumn>
</property>
<poperty name = headstyle>
<ASP: TableItemstyle backcolor = darkred porecolor = สีขาว
font-black = true/>
</property>
<poperty name = itemstyle>
<ASP: TableItemstyle Porforstyle = DarkslateBlue/>>
</property>
<poperty name = surgentatingItemstyle>
<ASP: TableItemstyle backcolor = beige/>
</property>
</asp: dataGrid>
ไฟล์. aspx นี้แสดงคำสั่ง DataGrid ควบคุมเช่นเดียวกับก่อนหน้าและตั้งค่าแอตทริบิวต์สไตล์ต่างๆ สิ่งนี้จะนำไปสู่การเป็นตัวแทนที่น่าสนใจยิ่งขึ้น ยังไม่จำเป็นต้องทำการเปลี่ยนแปลงใด ๆ กับรหัสและการใช้รหัสที่รองรับโดยตัวอย่างเดียวกันกับตัวอย่างก่อนหน้า
เนื่องจากได้มาจาก WebControl การควบคุม DataGrid จึงสืบทอดคุณลักษณะสไตล์เช่นความกว้าง, backcolor, Borderstyle และ Font.Name นอกจากนี้ DataGrid ยังเสนอคุณสมบัติเช่น CellPadding ซึ่งเป็นเฉพาะตาราง แอตทริบิวต์เหล่านี้ได้รับอนุญาตให้ปรับแต่งการควบคุมโดยรวม
คำสั่งนี้ยังแสดงรูปแบบโครงการหลายชุดเช่นรูปแบบส่วนหัวและ STERVERATIONATIONITEMSTYLE รูปแบบเหล่านี้ควบคุมการปรากฏตัวของรายการที่เกี่ยวข้อง โปรดทราบว่าสไตล์ของสไตล์จะปรากฏในตัวอย่างนี้ โครงการทางเลือกนั้นเหมือนกับโอกาสของโครงการทั่วไปเนื่องจากรูปแบบของพวกเขาคือการรวมกันของการสลับกันสไตล์และ itemstyle ในที่สุดตัวอย่างนี้ยังอธิบายถึงรูปแบบของคอลัมน์ที่เฉพาะเจาะจงผ่านข้อความในคอลัมน์ราคาด้านขวา -ถึงการจัดตำแหน่ง
DataGrid ยังช่วยให้คุณสามารถจัดรูปแบบเนื้อหาข้อความในเซลล์ได้ สิ่งนี้จะเสร็จสมบูรณ์โดยการตั้งค่าค่าคุณสมบัติ DataFormatstring ของ BoundColumn คอลัมน์ใช้รูปแบบเพื่อจัดรูปแบบเนื้อหาเซลล์ของ String.format แอตทริบิวต์นี้สามารถตั้งค่าไว้ล่วงหน้าหรือแนบกับเนื้อหาใด ๆ ที่มีประเภทการจัดรูปแบบ (เช่นวันที่หรือสกุลเงิน) นอกจากนี้เนื่องจากการจัดรูปแบบจะพิจารณา CultureInfo และคำขอของหน้าปัจจุบันจึงรองรับโลกาภิวัตน์ หากไม่มีรูปแบบที่ระบุให้ใช้วิธีการ toString ของค่านี้
DataGrid4
DataGrid4 อธิบายวิธีการใช้การเลือกใน DataGrid โดยจัดการเหตุการณ์ที่ SelectedIndIndExChanged
รูปที่ 7 ตัวอย่างที่สร้างขึ้นโดยการอนุญาตให้ดาต้ากริดที่มีรายการ
ทดสอบจาก dataGrid4.aspx:
<%@page language = c# src = dataGrid4.cs สืบทอด = samples.datagrid4page%>
ยืดหยุ่น
<asp: dataGrid runat = server id = titleSgrid
AutogenerAtecolumns = FALSE
ความกว้าง = 80%
backcolor = สีขาว
BorderWidth = 1px BorderStyle = Solid CellPadding = 2 CellSpacing = 0
BorderColor = tan
font-name = เพลงสไตล์ตัวอักษร = 8pt
datakeyfield = title_id
onSelectedExChanged = onSelectexchangededEdesGrid>
<poperty name = คอลัมน์>
<asp: buttonColumn text = select command = select/>
<ASP: BoundColumn HeadelText = ชื่อเรื่อง datafield = title/>
<ASP: BoundColumn HeadelText = Author DataField = AU_NAME/>
<ASP: BUNTCOLUMN HeaderText = วันที่ที่เผยแพร่ DataField = PUBDATE
dataFormatString = {0: mmm yyyy}/>
<ASP: BUNTECLUMN Headeltext = Price DataField = ราคา
dataFormatString = {0: c}>
<poperty name = itemstyle>
<ASP: TableItemstyle Horizontalalign = Right/>
</property>
</asp: BounddColumn>
</property>
<poperty name = headstyle>
<ASP: TableItemstyle backcolor = darkred porecolor = สีขาว
font-black = true/>
</property>
<poperty name = itemstyle>
<ASP: TableItemstyle Porforstyle = DarkslateBlue/>>
</property>
<poperty name = surgentatingItemstyle>
<ASP: TableItemstyle backcolor = beige/>
</property>
<poperty name = selectDitemstyle>
<ASP: TableItemstyle backcolor = palegoldenrod font-bold = true/>
</property>
</asp: dataGrid>
ยืดหยุ่น
<ASP: LABEL RUNAT = SERVER ID = SelectInFolabel font-name = song style size-size = 8pt/>
ในไฟล์. aspx โปรแกรมการประมวลผลเหตุการณ์ได้รับการลงทะเบียนสำหรับเหตุการณ์เหตุการณ์ที่ SelectedIndExChanged ของ DataGrid โปรแกรมการประมวลผลเหตุการณ์นี้ถูกนำไปใช้ในไฟล์ที่รองรับรหัส ButtonColumn ซึ่งเพิ่มเข้ามาในคอลัมน์ที่ตั้งเป็น "เลือก" ทำให้ DataGrid แสดงถึงคอลัมน์เพิ่มเติมที่มีปุ่มเลือกสำหรับแต่ละโครงการ ในเวลาเดียวกันมีการระบุ SelectedItemStyle สไตล์นี้ใช้เพื่อแยกความแตกต่างของโครงการจากสายตา ในที่สุดคุณลักษณะ DatakeyField ของ DataGrid จะถูกระบุ ฟิลด์นี้จะถูกวางไว้ในคอลเลกชัน DataGrid Datakeys ซึ่งจะใช้ในไฟล์ที่มีการรองรับรหัส
dataGrid4.cs:
ตัวอย่างเนมสเปซ {
ยืดหยุ่น
คลาสสาธารณะ DataGrid4Page: หน้า {
DataGrid TitlesGrid ที่ได้รับการป้องกัน
ฉลากฉลาก SearchInfolabel;
สาธารณะ icollection getTitlesList () {
// retore รายการชื่อเรื่องจากชุดข้อมูลของแคชความเร็วสูงในสถานะแอปพลิเคชัน
ชุดข้อมูล TITLESDATASET = (ชุดข้อมูล) แอปพลิเคชัน [TITLESDATASET];
if (titleSdataSet! = null) {
ส่งคืน TitleSdataSet.Tables [title] .defaultView;
-
อื่น {
คืนค่า null;
-
-
โมฆะส่วนตัว LoadTitlesGrid () {) {)
// การค้นหาข้อมูลจากฐานข้อมูล
ICOLLECTION TITLESLIST = getTitlesList ();
// ตั้งค่าแหล่งข้อมูลของการควบคุมและรีเซ็ตตัวเลือก
TitlesGrid.datasource = TitleSlist;
TitleSgrid.SelectDindex = -1;
// และทำให้การควบคุมใช้แหล่งข้อมูลนี้เพื่อสร้างโครงการ
TitlesGrid.databind ();
// อัปเดตข้อมูลชื่อเรื่องที่เลือก
updateselectTitalInfo ();
-
ได้รับการป้องกันการแทนที่โมฆะ overoad (eventargs e) {{
base.onload (e);
ถ้า (! isPostBack) {
// ดูหน้านี้เป็นครั้งแรก
LoadTitlesGrid ();
-
-
// การประมวลผลเหตุการณ์ onselectindindindexchanged ของ DataGrid
ช่องว่างที่ได้รับการป้องกัน onselectedIndIndExChangedTitlesGrid (ผู้ส่งวัตถุ
EventArgs e) {
updateselectTitalInfo ();
-
โมฆะส่วนตัว updatesElectTitiveInfo () {{) {
// รับดัชนีที่เลือก
int selIndex = titleSgrid.selectDindex;
สตริง selfieid = null;
สตริง selectinfo;
if (SelIndex! = -1) {{
// แสดงฟิลด์คีย์ของชื่อที่เลือก
seltitleId = (สตริง) titlesgrid.data [selindex];
selectionInfo = id ของชื่อที่เลือก: + seltitleid;
-
อื่น {
SelectInfo = ไม่มีชื่อชื่ออยู่ในปัจจุบัน;
-
SelectInfolabel.Text = SelectInfo;
-
-
-
ไฟล์. cs นี้มีตรรกะของการจัดการเหตุการณ์ที่เลือกใช้ Inidexchaned และตรรกะของ ID ของชื่อที่เลือกที่ DataGrid DataGrid จัดการเหตุการณ์คำสั่งซึ่งถูกเรียกใช้โดยปุ่มที่รวมอยู่ในโครงการ มันรับรู้คำสั่งมาตรฐาน "เลือก" ซึ่งทำให้มันเปลี่ยนคุณสมบัติ SelectedIndex และทริกเกอร์เหตุการณ์นี้เพื่อเปลี่ยนรหัสของการแจ้งเตือนผู้ใช้
ในกระบวนการใช้โปรแกรมประมวลผลเหตุการณ์โค้ดตัวอย่างเรียกใช้เมธอด updateSelectTitleInfo วิธีนี้มีหน้าที่แสดงข้อมูลเกี่ยวกับชื่อหนังสือที่เลือก ในรูปแบบที่สมจริงยิ่งขึ้น ID นี้สามารถใช้เพื่อเชื่อมโยงหน้าเพื่อแสดงรายละเอียดเพิ่มเติมเกี่ยวกับชื่อที่เลือก
ID ถูกเรียกคืนโดยการเยี่ยมชมคอลเลกชัน Datakeys คอลเลกชันถูกตั้งค่าเนื่องจากแอตทริบิวต์ DatakeyField โดยปกติแล้วให้ตั้งค่าเป็นคำหลักหลักหรือฟิลด์อื่น ๆ ที่สามารถระบุได้โดยครัวเรือนและใช้ข้อมูลนี้เป็นแนวทางในการสืบค้นฐานข้อมูลหรือข้อมูลตัวกรอง
ตัวอย่างนี้แสดงวิธีการสนับสนุนการดำเนินการเพิ่มเติมเช่นการเลือกวัตถุในแหล่งข้อมูลนอกเหนือจากวัตถุเฉพาะในแหล่งข้อมูล DataGrid มีการรองรับคุณสมบัติอื่น ๆ อีกมากมาย (เช่นการเรียงลำดับการเพจ, บรรณาธิการบนไซต์และ Templatecolumns) อย่างไรก็ตามคุณสมบัติเฉพาะเหล่านี้เกินขอบเขตของการอภิปรายของบทความนี้และจะกล่าวถึงในบทความในอนาคต
Repeater, Datalist หรือ DataGrid?
Repeater, Datalist และ DataGrid Control โมเดลการเขียนโปรแกรมสาธารณะที่ใช้ร่วมกัน ในเวลาเดียวกันการควบคุมแต่ละตัวได้รับการออกแบบมาเพื่อมุ่งเน้นไปที่โครงการเฉพาะ ส่วนนี้อธิบายฟังก์ชั่นของลำดับชั้นการควบคุมและฟังก์ชั่นของการควบคุมแต่ละตัวรวมถึงตัวอย่างของวิธีการแก้ปัญหาทั่วไปที่แต่ละการควบคุมอาจใช้
อย่างที่คุณเห็นในโครงสร้างคลาสด้านล่าง Trepeater เป็นตัวควบคุมขนาดเล็กและแสง มันสืบทอดเฉพาะฟังก์ชั่นของคลาสควบคุมพื้นฐานเช่นแอตทริบิวต์ ID และชุดย่อย -การควบคุม ในทางกลับกันการควบคุม Datalist และ DataGrid Control สืบทอดฟังก์ชั่น WebControl เช่นคุณลักษณะสไตล์และลักษณะที่ปรากฏ
รูปที่ 8. รายการ -การควบคุมการควบคุมโครงสร้างระดับคลาส
ในแง่ของโมเดลวัตถุการควบคุม repeater เป็นตัวควบคุมที่ง่ายที่สุด นอกจากนี้ยังเป็นตัวควบคุมการเชื่อมโยงข้อมูลที่เล็กที่สุดและแตกต่างกันโดยทั่วไปนั่นคือมันไม่ได้บังคับให้เลย์เอาต์ UI พิเศษใด ๆ วิธีการบ่งชี้สุดท้ายเป็นไปตามวิธีการสร้างข้อความ การควบคุมนี้ไม่ได้ให้การสนับสนุนที่สร้างขึ้นสำหรับสไตล์และลักษณะที่ปรากฏหรือพฤติกรรม มันเป็นตัวเลือกที่ยอดเยี่ยมสำหรับการแก้ปัญหาที่ต้องควบคุมอย่างเต็มที่
ตัวควบคุม Datalist เป็นตัวพิมพ์ซ้ำที่ถูกบังคับให้ใช้เค้าโครงคอลัมน์หรือโครงร่างสตรีม มันสืบทอดคุณลักษณะที่ปรากฏใน WebControl และเพิ่มแอตทริบิวต์สไตล์อื่น ๆ ที่เหมาะสำหรับรายการที่สร้างขึ้น การควบคุม Datalist ยังรวมถึงการสนับสนุนสำหรับการดำเนินงานมาตรฐานโครงการ (เช่นการเลือกการแก้ไขและการลบ) มันเหมาะมากสำหรับกระแสลำดับของระดับหรือโครงการแนวตั้งที่กระจายอยู่ในแถวหรือแถว
การควบคุม DataGrid ถูกบังคับให้ใช้รายการหรือเค้าโครงบรรทัด เช่นเดียวกับ Datalist ตัวควบคุมนี้ให้รูปแบบและลักษณะที่ปรากฏ นอกเหนือจากการเลือกและแก้ไขแล้ว DataGrid ยังรองรับการดำเนินการขั้นสูงในการรวบรวมโครงการทั้งหมดเช่นหน้าและการเรียงลำดับ หนึ่งในความแตกต่างที่สำคัญระหว่าง DataGrid และ Datalist คือ DataGrid ไม่มีแอตทริบิวต์เทมเพลตใด ๆ นั่นคือโครงการหรือไม่ใช่ template ของ DataGrid Control อย่างไรก็ตามเพิ่ม TemplateColumn ลงใน DataGrid เพื่อใช้เทมเพลตในคอลัมน์เฉพาะ
ตารางต่อไปนี้เป็นบทสรุปของฟังก์ชั่นที่จัดทำโดยรายการควบคุมการเชื่อมโยงรายการ
ฟังก์ชัน datalist dataList dataLid
เทมเพลตคือ (จำเป็น) หรือภายในคอลัมน์ (จำเป็น) (ไม่บังคับ)
เป็นเค้าโครงรายการหรือไม่?
เป็นรูปแบบสตรีม
รูปแบบของสไตล์คอลัมน์การกระจาย/หนังสือพิมพ์หรือไม่?
ไม่ว่าจะเป็นคุณลักษณะสไตล์และลักษณะที่ปรากฏ
เลือกว่าใช่
แก้ไข
มันถูกลบหรือไม่?
ไม่มีการปนเปื้อน
มันถูกจัดเรียง?
ทรัพยากรที่เกี่ยวข้อง
ด้วยตัวอย่าง QuickStart ที่เผยแพร่โดย Microsoft .NET Framework SDK มีตัวอย่างหลายตัวอย่างของการควบคุมเหล่านี้และตัวอย่างที่อธิบายข้อมูลการเข้าถึงข้อมูลด้วย XML และบริการเว็บ เอกสารที่แนบมากับ SDK รวมถึงข้อมูลแนวคิดของหัวข้อที่เกี่ยวข้องเช่นกรอบ ASP+ Page และการควบคุมเซิร์ฟเวอร์และบรรณานุกรมอ้างอิงของโมเดลวัตถุเป็นส่วนหนึ่งของการควบคุมเฟรมนี้