第三章-資料管理-集合泛型_第1頁
第三章-資料管理-集合泛型_第2頁
第三章-資料管理-集合泛型_第3頁
第三章-資料管理-集合泛型_第4頁
第三章-資料管理-集合泛型_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第三章 資料管理-集合泛型一、教學(xué)標(biāo)準(zhǔn)(講授本知識點(diǎn)需要達(dá)到的深度,也是學(xué)生學(xué)習(xí)本知識點(diǎn)需要達(dá)到的深度)1掌握技能點(diǎn):1) 掌握集合的概念(熟練使用ArrayList、熟練使用HashTable)2) 掌握泛型的概念、熟練使用.net中的兩個(gè)泛型集合3) 熟練使用DataGridView 2熟悉業(yè)務(wù)需要: 1) 理解集合的實(shí)際用途 2) 泛型的實(shí)際需要 3) CRM客戶關(guān)系管理系統(tǒng)中使用DataGridView顯示數(shù)據(jù)3實(shí)現(xiàn)了CRM客戶關(guān)系管理系統(tǒng)的主要功能二、使用的講授方法(打算采用什么方法講授,以便讓學(xué)生想的透、記得牢、用的好,最好過目不忘)先講解集合,可以舉個(gè)例子說明:盛水果的籃子,以引

2、起學(xué)生的興趣再舉出集合使用的問題,再講解泛型集合最后可以舉出實(shí)際軟件中的集合使用的案例:在沒有使用數(shù)據(jù)庫之前,我們的數(shù)據(jù)往往需要存儲在一個(gè)特定的存儲介質(zhì)中,集合就是一個(gè)存儲數(shù)據(jù)的好方法三、詳細(xì)講授思路(描述本知識點(diǎn)講授過程的整體安排,主要講構(gòu)思)1、 料模塊中主要有包含有以下模塊:區(qū)域信息管理,客戶資料管理,競爭對手管理三個(gè)子模塊,通過對客戶相關(guān)資料的管理,實(shí)現(xiàn)了CRM客戶關(guān)系管理系統(tǒng)的主要功能2、 需求分析(業(yè)務(wù)邏輯)CRM客戶關(guān)系管理系統(tǒng)開發(fā)的目標(biāo)是實(shí)現(xiàn)企業(yè)管理的系統(tǒng)化,規(guī)范化和自動化,該系統(tǒng)模塊:區(qū)域信息管理,客戶資料管理,競爭對手管理等三個(gè)子功能,滿足企業(yè)信息管理的需求。在各模塊的使用

3、中,登錄用戶自定義搜索條件對數(shù)據(jù)庫中的信息進(jìn)行檢索。同時(shí)可以添加新的客戶信息。以及對存儲的信息進(jìn)行修改和刪除操作。在CRM系統(tǒng)中,對于客戶資料信息的操作是必要的,管理用戶登錄后,可對企業(yè)資料信息實(shí)現(xiàn)添加,在添加時(shí)編號將自動生成,并且不修改,對于客戶的信息要進(jìn)行數(shù)據(jù)的正確性檢查。3、 設(shè)計(jì)思路(實(shí)現(xiàn)思路)用戶登錄后,可以實(shí)現(xiàn)對資料信息的添加,當(dāng)單擊添加按鈕時(shí),客戶編號將自動生成,此時(shí)可以輸入資料的詳細(xì)信息,在輸入信息時(shí)必須輸入正確的信息,如客戶名稱、客戶等級、客戶來源、所屬行業(yè)、客戶類別、所在區(qū)域、聯(lián)系電話、傳真號碼、郵政編碼、聯(lián)系地址、電子郵箱、備注等相關(guān)的信息,通過正則表達(dá)式對其驗(yàn)證,輸入無

4、誤的情況下,單擊保存按紐剛實(shí)現(xiàn)保存功能,因?yàn)槲覀兩形磳W(xué)習(xí)連接數(shù)據(jù)庫的知識,所以我們采用使用集合泛型來存儲數(shù)據(jù),在集合泛型中添加的是object,所以我們對每一個(gè)窗體創(chuàng)建一個(gè)對應(yīng)類,類中的屬性和界面控一一對應(yīng),如frmClientManage窗體中客戶名稱、客戶等級、客戶來源、所屬行業(yè)、客戶類別、所在區(qū)域、聯(lián)系電話、傳真號碼、郵政編碼、聯(lián)系地址、電子郵箱、備注等控件,新建一個(gè)ClientInfo類,并新建屬性ClientId、ClientInfo、ClientType、ClientNote等屬性相對應(yīng),當(dāng)用戶單擊保存按紐時(shí),將控件中的值保存到ClientInfo表中,最后將使用集合泛型的添加方法

5、將ClientInfo的對象添加到集合泛型中,信息添加成功后,使用DataGridView控件綁定集合泛型,實(shí)現(xiàn)數(shù)據(jù)的顯示。4、 需要用到的核心技術(shù)點(diǎn)a) 集合的使用。b) 泛型的使用。c) DataGridView的顯示與綁定數(shù)據(jù)。d) 常用的WinForm控件e) SQL語言基礎(chǔ)f) Ado.Net1) 知識點(diǎn)1:泛型集合 泛型將類型參數(shù)的概念引入 .NET Framework,類型參數(shù)使得設(shè)計(jì)如下類和方法成為可能:這些類和方法將一個(gè)或多個(gè)類型的指定推遲到客戶端代碼聲明并實(shí)例化該類或方法的時(shí)候。例如,通過使用泛型類型參數(shù) T,您可以編寫其他客戶端代碼能夠使用的單個(gè)類,而不致引入運(yùn)行時(shí)強(qiáng)制轉(zhuǎn)

6、換或裝箱操作的成本或風(fēng)險(xiǎn),如下所示:/ 自定義泛型類public class GenericList void Add(T input) class TestGenericList private class ExampleClass static void Main() / 定義一個(gè)集合裝載int類型 GenericList list1 = new GenericList(); / 定義一個(gè)集合裝載string類型 GenericList list2 = new GenericList(); / 定義一個(gè)集合裝載自定義類型 GenericList list3 = new GenericLis

7、t(); l 使用泛型類型可以最大限度地重用代碼、保護(hù)類型的安全以及提高性能。l 泛型最常見的用途是創(chuàng)建集合類。l .NET Framework 類庫在 System.Collections.Generic 命名空間中包含幾個(gè)新的泛型集合類。應(yīng)盡可能地使用這些類來代替普通的類,如 System.Collections 命名空間中的 ArrayList。l 您可以創(chuàng)建自己的泛型接口、泛型類、泛型方法、泛型事件和泛型委托。l 可以對泛型類進(jìn)行約束以訪問特定數(shù)據(jù)類型的方法。l 關(guān)于泛型數(shù)據(jù)類型中使用的類型的信息可在運(yùn)行時(shí)通過使用反射獲取。.net Framework中的泛型集合在C# 2.0之前,主

8、要可以通過兩種方式實(shí)現(xiàn)集合:l 使用ArrayList 直接將對象放入ArrayList,操作直觀,但由于集合中的項(xiàng)是Object類型,因此每次使用都必須進(jìn)行繁瑣的類型轉(zhuǎn)換。l 使用自定義集合類比較常見的做法是從CollectionBase抽象類繼承一個(gè)自定義類,通過對IList對象進(jìn)行封裝實(shí)現(xiàn)強(qiáng)類型集合。這種方式要求為每種集合類型寫一個(gè)相應(yīng)的自定義類,工作量較大。泛型集合的出現(xiàn)較好的解決了上述問題,只需一行代碼便能創(chuàng)建指定類型的集合。完成案例所需要的技術(shù)內(nèi)容。List利用System.Collections.Generic命名空間下面的List泛型類創(chuàng)建集合,語法如下:List ListOf

9、T = new List();其中的T就是所要使用的類型,既可以是簡單類型,如string、int,也可以是用戶自定義類型。下面看一個(gè)具體例子。class Person private string _name; /姓名 private int _age; /年齡 /創(chuàng)建Person對象 public Person(string Name, int Age) this._name= Name; this._age = Age; /姓名 public string Name get return _name; /年齡 public int Age get return _age; /創(chuàng)建Pers

10、on對象Person p1 = new Person(張三, 30);Person p2 = new Person(李四, 20);Person p3 = new Person(王五, 50);/創(chuàng)建類型為Person的對象集合List persons = new List();/將Person對象放入集合persons.Add(p1);persons.Add(p2);persons.Add(p3);/輸出第2個(gè)人的姓名Console.Write(persons1.Name);可以看到,泛型集合大大簡化了集合的實(shí)現(xiàn)代碼,通過它,可以輕松創(chuàng)建指定類型的集合。非但如此,泛型集合還提供了更加強(qiáng)大的功

11、能,下面看看其中的排序及搜索。List排序:排序基于比較,要排序,首先要比較。比如有兩個(gè)數(shù)1、2,要對他們排序,首先就要比較這兩個(gè)數(shù),根據(jù)比較結(jié)果來排序。如果要比較的是對象,情況就要復(fù)雜一點(diǎn),比如對Person對象進(jìn)行比較,則既可以按姓名進(jìn)行比較,也可以按年齡進(jìn)行比較,這就需要確定比較規(guī)則。一個(gè)對象可以有多個(gè)比較規(guī)則,但只能有一個(gè)默認(rèn)規(guī)則,默認(rèn)規(guī)則放在定義該對象的類中。默認(rèn)比較規(guī)則在CompareTo方法中定義,該方法屬于IComparable泛型接口。請看下面的代碼:class Person :IComparable /按年齡比較 public int CompareTo(Person p)

12、 return this.Age - p.Age; CompareTo方法的參數(shù)為要與之進(jìn)行比較的另一個(gè)同類型對象,返回值為int類型,如果返回值大于0,表示第一個(gè)對象大于第二個(gè)對象,如果返回值小于0,表示第一個(gè)對象小于第二個(gè)對象,如果返回0,則兩個(gè)對象相等。定義好默認(rèn)比較規(guī)則后,就可以通過不帶參數(shù)的Sort方法對集合進(jìn)行排序,如下所示:/按照默認(rèn)規(guī)則對集合進(jìn)行排序persons.Sort();/輸出所有人姓名foreach (Person p in persons) Console.WriteLine(p.Name); /輸出次序?yàn)槔钏?、張三、王五?shí)際使用中,經(jīng)常需要對集合按照多種不同規(guī)則進(jìn)

13、行排序,這就需要定義其他比較規(guī)則,可以在Compare方法中定義,該方法屬于IComparer泛型接口,請看下面的代碼:class NameComparer : IComparer /存放排序器實(shí)例 public static NameComparer Default = new NameComparer(); /按姓名比較 public int Compare(Person p1, Person p2) return System.Collections.Comparer.Default.Compare(p1.Name, p2.Name); Compare方法的參數(shù)為要進(jìn)行比較的兩個(gè)同類型對

14、象,返回值為int類型,返回值處理規(guī)則與CompareTo方法相同。其中的Comparer.Default返回一個(gè)內(nèi)置的Comparer對象,用于比較兩個(gè)同類型對象。下面用新定義的這個(gè)比較器對集合進(jìn)行排序:/按照姓名對集合進(jìn)行排序persons.Sort(NameComparer.Default);/輸出所有人姓名foreach (Person p in persons) Console.WriteLine(p.Name); /輸出次序?yàn)槔钏?、王五、張三Dictionary:Dictionary(Of ) 包含鍵/值對集合。它的 Add 方法采用兩個(gè)參數(shù),一個(gè)用于鍵,另一個(gè)用于值。若要初始化

15、Dictionary(Of ) 或其 Add 方法采用多個(gè)參數(shù)的任何集合,請將每組參數(shù)括在大括號中,如下面的(學(xué)生簡單信息管理)示例所示:Dictionary students = new Dictionary() 111, new StudentName FirstName=Sachin, LastName=Karnik, ID=211, 112, new StudentName FirstName=Dina, LastName=Salimzianova, ID=317, , 113, new StudentName FirstName=Andy, LastName=Ruth, ID=198

16、, ;請注意每個(gè)對象初始值設(shè)定項(xiàng)中的三對大括號。最內(nèi)層的大括號括起了 Scores 列表的對象初始值設(shè)定項(xiàng)。下一組大括號括起了 Student 的初始值設(shè)定項(xiàng),而最外層的大括號括起了將要添加到 students Dictionary(Of ) 中的鍵/值對的初始值設(shè)定項(xiàng)。最后,整個(gè)集合初始值設(shè)定項(xiàng)被括在一對大括號內(nèi)。2) 知識點(diǎn)3:DataGridViewDataGridView 控件提供用來顯示數(shù)據(jù)的可自定義表。使用 DataGridView 類,可以通過使用 DefaultCellStyle、ColumnHeadersDefaultCellStyle、CellBorderStyle 和 G

17、ridColor 等屬性對單元格、行、列和邊框進(jìn)行自定義。下面的代碼示例演示如何初始化一個(gè)未綁定的 DataGridView。private void ledgerStyleButton_Click(object sender, System.EventArgs e) / Create a new cell style. DataGridViewCellStyle style = new DataGridViewCellStyle(); style.BackColor = Color.Beige; style.ForeColor = Color.Brown; style.Font = new

18、Font(Verdana, 8); / Apply the style as the default cell style. dataGridView1.AlternatingRowsDefaultCellStyle = style; ledgerStyleButton.Enabled = false;private void SetUpDataGridView() this.Controls.Add(dataGridView1); dataGridView1.ColumnCount = 5; DataGridViewCellStyle style = dataGridView1.Column

19、HeadersDefaultCellStyle; style.BackColor = Color.Navy; style.ForeColor = Color.White; style.Font = new Font(dataGridView1.Font, FontStyle.Bold); dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter; dataGridView1.Name = dataGridView1; dataGridView1.Location = new Point(8, 8); dataGridView1.Size

20、 = new Size(500, 300); dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders; dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Raised; dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single; dataGridView1.GridColor = SystemColors.

21、ActiveBorder; dataGridView1.RowHeadersVisible = false; dataGridView1.Columns0.Name = Release Date; dataGridView1.Columns1.Name = Track; dataGridView1.Columns1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridView1.Columns2.Name = Title; dataGridView1.Columns3.Name = Ar

22、tist; dataGridView1.Columns4.Name = Album; / Make the font italic for row four. dataGridView1.Columns4.DefaultCellStyle.Font = new Font(DataGridView.DefaultFont, FontStyle.Italic); dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dataGridView1.MultiSelect = false; dataGridView1

23、.BackgroundColor = Color.Honeydew; dataGridView1.Dock = DockStyle.Fill; dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting); dataGridView1.CellParsing += new DataGridViewCellParsingEventHandler(dataGridView1_CellParsing); addNewRowButton.Click +=

24、new EventHandler(addNewRowButton_Click); deleteRowButton.Click += new EventHandler(deleteRowButton_Click); ledgerStyleButton.Click += new EventHandler(ledgerStyleButton_Click); dataGridView1.CellValidating += new DataGridViewCellValidatingEventHandler(dataGridView1_CellValidating);private void Popul

25、ateDataGridView() / Create the string array for each row of data. string row0 = 11/22/1968, 29, Revolution 9, Beatles, The Beatles White Album ; string row1 = 4/4/1960, 6, Fools Rush In, Frank Sinatra, Nice N Easy ; string row2 = 11/11/1971, 1, One of These Days, Pink Floyd, Meddle ; string row3 = 4

26、/4/1988, 7, Where Is My Mind?, Pixies, Surfer Rosa ; string row4 = 5/1981, 9, Cant Find My Mind, Cramps, Psychedelic Jungle ; string row5 = 6/10/2003, 13, Scatterbrain. (As Dead As Leaves.), Radiohead, Hail to the Thief ; string row6 = 6/30/1992, 3, Dress, P J Harvey, Dry ; / Add a row for each stri

27、ng array. DataGridViewRowCollection rows = this.dataGridView1.Rows; rows.Add(row0); rows.Add(row1); rows.Add(row2); rows.Add(row3); rows.Add(row4); rows.Add(row5); rows.Add(row6); / Change the order the columns are displayed. DataGridViewColumnCollection columns = this.dataGridView1.Columns; columns

28、0.DisplayIndex = 3; columns1.DisplayIndex = 4; columns2.DisplayIndex = 0; columns3.DisplayIndex = 1; columns4.DisplayIndex = 2; 四、教學(xué)中要注意的關(guān)鍵點(diǎn)(老師講授中特別要強(qiáng)調(diào)、要講透的點(diǎn),學(xué)生學(xué)習(xí)中特別要關(guān)注、要想透的點(diǎn))1. 理解集合的概念,通過集合,如何方便的簡化開發(fā)難度2. 理解泛型的概念,及其在項(xiàng)目中的作用3. DataGridView 數(shù)據(jù)的顯示與格式控制五、所需使用的案例或道具需要使用VS工具做WinForm的開發(fā)系統(tǒng),課中可以選用CRM公共關(guān)系系統(tǒng)中的主

29、要功能做演示六、準(zhǔn)備的提問問題1、什么是集合? 2、有那些常見的集合?3、為什么需要泛型?4、有那些泛型集合?5、泛型集合的用途?舉個(gè)例子說明?七、作業(yè)1、集合保存數(shù)據(jù)的特點(diǎn)?2、測試下面簡單的例子: class SampleHashtable / / The main entry point for the application. / STAThread static void Main(string args) / Create and initialize a new Hashtable. Hashtable table = new Hashtable(); /Student Name

30、, Grade table.Add(leiwanjun, 100); table.Add(wanghuan, 87); table.Add(wuhailong, 92); table.Add(renyao, 76); table.Add(tanghonglei, 84); table.Add(chenxiaoping, 91); table.Add(liupeixun, 80); table.Add(huyoumou, 87); / Display the properties and values of the Hashtable. Console.WriteLine(Count: 0, t

31、able.Count); PrintTable(table); Console.WriteLine(); int g = (int) tablewuhailong; Console.WriteLine (wuhailongs grade is: 0, g); Console.WriteLine(); PrintItems (All Names, table.Keys); Console.WriteLine(); PrintItems (All Grades, table.Values); public static void PrintTable( Hashtable myList) Cons

32、ole.WriteLine (0, -15 1, -15, Name,Grade); Console.WriteLine (0, -15 1, -15, -,-);/ / 排序/ ArrayList al = new ArrayList(myList.Keys);/ al.Sort();/ foreach (string Name in al)/ / Console.WriteLine(0, -15 1, -15, Name, myListName);/ / / /遍歷哈希表中的每個(gè)元素,直接輸出 foreach (DictionaryEntry e in myList) Console.Wr

33、iteLine (0, -15 1, -15, e.Key, e.Value); public static void PrintItems(string title, IEnumerable myList ) Console.Write (0: , title); StringBuilder sb = new StringBuilder(); foreach (object o in myList) sb.AppendFormat( 0, , o); sb.Remove(sb.Length - 2, 2); Console.WriteLine(sb); 3、定義多個(gè)學(xué)生信息,使用集合來保存這

34、些學(xué)生的信息八、測試題1、簡述集合的作用?2、泛型集合的用法?3、使用泛型集合實(shí)現(xiàn)學(xué)生信息和老師信息的管理?教學(xué)過程/所用時(shí)間教學(xué)內(nèi)容教師活動/教學(xué)方法學(xué)生活動一創(chuàng)設(shè)情景回顧上節(jié)知識點(diǎn)所用時(shí)間: 8掌握集合的概念(熟練使用ArrayList、熟練使用HashTable)提問并檢查上一節(jié)課程內(nèi)容與學(xué)生如何互動二.創(chuàng)設(shè)問題情景引入課題所用時(shí)間:8先講解集合,可以舉個(gè)例子說明:盛水果的籃子,以引起學(xué)生的興趣再舉出集合使用的問題,再講解泛型集合思考并回答老師的問題三.分析案例(圍繞問題展開討論研究,進(jìn)行歸納)所用時(shí)間:15盛水果的籃子最后可以舉出實(shí)際軟件中的集合使用的案例:在沒有使用數(shù)據(jù)庫之前,我們的

35、數(shù)據(jù)往往需要存儲在一個(gè)特定的存儲介質(zhì)中,集合就是一個(gè)存儲數(shù)據(jù)的好方法、與學(xué)生如何互動等四.核心知識點(diǎn):所用時(shí)間:35集合的使用ArrayList類的使用HashTable類的應(yīng)用以及上述兩種集合類中常用的屬性方法概念性的內(nèi)容記筆記理解性的內(nèi)容通過實(shí)例去理解五.運(yùn)用(鞏固與練習(xí))所用時(shí)間:8六.課后作業(yè)所用時(shí)間:6掌握集合的概念(熟練使用ArrayList、熟練使用HashTable)七.課堂小結(jié)與評價(jià)所用時(shí)間:6總結(jié)學(xué)習(xí)內(nèi)容:學(xué)習(xí)方法:教學(xué)過程/所用時(shí)間教學(xué)內(nèi)容教師活動/教學(xué)方法學(xué)生活動一創(chuàng)設(shè)情景回顧上節(jié)知識點(diǎn)所用時(shí)間: 8掌握泛型的概念、熟練使用.net中的兩個(gè)泛型集合提問并檢查上一節(jié)課程內(nèi)

36、容與學(xué)生如何互動二.創(chuàng)設(shè)問題情景引入課題所用時(shí)間:8泛型將類型參數(shù)的概念引入 .NET Framework,類型參數(shù)使得設(shè)計(jì)如下類和方法成為可能泛型的具體應(yīng)用,引導(dǎo)學(xué)生去思考思考并回答老師的問題三.分析案例(圍繞問題展開討論研究,進(jìn)行歸納)所用時(shí)間:15這些類和方法將一個(gè)或多個(gè)類型的指定推遲到客戶端代碼聲明并實(shí)例化該類或方法通過使用泛型類型參數(shù) T,您可以編寫其他客戶端代碼能夠使用的單個(gè)類,而不致引入運(yùn)行時(shí)強(qiáng)制轉(zhuǎn)換或裝箱操作的成本或風(fēng)險(xiǎn),與學(xué)生如何互動等四.核心知識點(diǎn):所用時(shí)間:35.NET Framework 類庫在 System.Collections.Generic 命名空間中包含幾個(gè)新

37、的泛型集合類。應(yīng)盡可能地使用這些類來代替普通的類,如 System.Collections 命名空間中的 ArrayList。概念性的內(nèi)容記筆記理解性的內(nèi)容通過實(shí)例去理解五.運(yùn)用(鞏固與練習(xí))所用時(shí)間:8創(chuàng)建自己的泛型接口、泛型類、泛型方法、泛型事件和泛型委托。六.課后作業(yè)所用時(shí)間:6可以對泛型類進(jìn)行約束以訪問特定數(shù)據(jù)類型的方法。七.課堂小結(jié)與評價(jià)所用時(shí)間:6總結(jié)學(xué)習(xí)內(nèi)容:學(xué)習(xí)方法:教學(xué)過程/所用時(shí)間教學(xué)內(nèi)容教師活動/教學(xué)方法學(xué)生活動一創(chuàng)設(shè)情景回顧上節(jié)知識點(diǎn)所用時(shí)間: 8熟練使用DataGridView提問并檢查上一節(jié)課程內(nèi)容與學(xué)生如何互動二.創(chuàng)設(shè)問題情景引入課題所用時(shí)間:8DataGridView 控件提供一種強(qiáng)大而靈活的以表格形式顯示數(shù)據(jù)的方式??梢允褂?DataGridView 控件來顯示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論