欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vb.net集合排序 vbnet數(shù)組排序方法

vb.net 排列組合 代碼

第一題:

張家川回族自治網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),張家川回族自治網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為張家川回族自治上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的張家川回族自治做網(wǎng)站的公司定做!

不需要任何控件,代碼如下:

Private Sub Form_Click()

Dim A() As Integer, N As Integer

Dim St As String, I As Integer, J As Integer

Randomize

Do

St = InputBox("數(shù)字的個(gè)數(shù)", "輸入", Int(Rnd * 100))

If St = "" Then

MsgBox "請(qǐng)輸入數(shù)字!"

Else

N = Int(Val(St))

If N 1 Then

MsgBox "請(qǐng)輸入大于0的數(shù)字!"

Else

Exit Do

End If

End If

Loop

ReDim A(N)

For I = 1 To N

Do

St = InputBox("第" + Str(I) + "個(gè)數(shù)字", "輸入", Int(Rnd * 100))

If St = "" Then

MsgBox "請(qǐng)輸入數(shù)字!"

Else

A(I) = Int(Val(St))

Exit Do

End If

Loop

Next

For I = 1 To N - 1

For J = I + 1 To N

If A(I) A(J) Then

A(0) = A(I)

A(I) = A(J)

A(J) = A(0)

End If

Next

Next

For I = 1 To N

Open App.Path "\" Trim(Str(I)) ".txt" For Output As #1

Print #1, A(I)

Close #1

Next

Print "已經(jīng)把"; N; "個(gè)數(shù)寫入到"; App.Path; "\1.txt 到 "; N; ".txt中.請(qǐng)查看."

End Sub

'已經(jīng)運(yùn)行過.

第二題:

DIM 是變量聲明語句,它的格式為:

dim 變量名[as 格式] [,變量名[as 格式][,變量名[as 格式]......]

其中:

變量名:以字母或漢字開始的字串,代表一個(gè)變量

格式有以下幾種:

屬于數(shù)字的有五種:

(1)字節(jié)型:byte可取值0-255

(2)整形:integer可取值-32768至32767

(3)長(zhǎng)整形:long(可取值范圍很大的正負(fù)整數(shù))

(4)單精度型:single(可取值小數(shù))

(5)雙精度型:double(可取值范圍更大,小數(shù)位數(shù)更多的小數(shù))

字符串型:string(可代表由字母\數(shù)字或漢字組成的字符集合)

布爾型:boolean(取值為ture\false)

日期型:date(可表示形如2009-5-26 02:36這樣的組合)

如果要用姓名\住址\單位名稱...等用字符串型(string)

eg:dim name as string(用name變量表示名字時(shí),聲明成字符串變量)

如果是用數(shù)字需要做計(jì)算,如工資\合計(jì)\人數(shù)....等要用數(shù)字型,但有一個(gè)原則,優(yōu)先選用范圍小的(按照字節(jié)型(byte)\整形(integer)\長(zhǎng)整形(long)\單精度型(single)\雙精度型(double)的順序選擇),夠用就可以了,這樣可以占用內(nèi)存少,運(yùn)算速度快.

eg:dim count as integer(用integer表示員工人數(shù)時(shí),可聲明成整形變量)

eg:dim sum as single(用sum表示工資時(shí),可聲明成單精度型變量)

不知是否說得清楚了.

vb.net入門——DomainUpDown 控件的使用

DomainUpDown 控件在外觀上都是由一個(gè)文本框和一對(duì)可以上下移動(dòng)列表的箭頭組成 如下圖一所示

圖一 控件外觀

其功能類似于組合框 您可以將任何類型的數(shù)據(jù)放入列表 同時(shí)在文本框中顯示單個(gè)字符串值 讓用戶可以通過單擊上箭頭和下箭頭來瀏覽數(shù)據(jù)

在工具箱中 它的圖標(biāo)顯示如下圖二所示

圖二 工具箱中的DomainUpDown 控件

DomainUpDown 控件的主要屬性為 Items ReadOnly Wrap

一 改變文字顯示與上下箭頭的方向

我們可以通過 TextAlign 屬性來改變控件中的文本對(duì)齊方式 通過 UpDownAlign 屬性改變它的上下按鈕對(duì)齊方式

示例 在DomainUpDown 控件 Text 屬性中輸入 即文本框顯示的字符 把 TextAlign 屬性 設(shè)置為Center UpDownAlign 屬性設(shè)置為L(zhǎng)eft 顯示效果如下圖三所示

圖三 改變DomainUpDown 控件顯示外觀

二 ReadOnly 屬性

ReadOnly 屬性用于設(shè)置用戶是否只能使用向上或向下按鈕更改文本 默認(rèn)值為False 如果為False 則用戶可以在文本框中進(jìn)行輸入 如果為True 則文本輸入框變?yōu)榛疑?用戶只能通過Up Down按鈕來選擇列表 且當(dāng)用戶使用鍵盤鍵入的時(shí)候 控件自動(dòng)完成匹配 如假設(shè)列表中存在下面三個(gè)字符串的項(xiàng) aa b 控件ReadOnly 屬性為True 則當(dāng)我們?cè)谖谋究蛑墟I入 時(shí)候 控件將自動(dòng)匹配字符串 如下圖四所示

圖四 DomainUpDown 自動(dòng)匹配用戶輸入

三 為DomainUpDown 控件添加\刪除列表項(xiàng)

通過 字符串集合編輯器 編輯

我們可以在設(shè)計(jì)視圖中為 DomainUpDown 控件添加或者刪除列表項(xiàng) 步驟如下

在 屬性 窗口中找到 Items 屬性 單擊屬性后的 按鈕 彈出 字符串集合編輯器 然后進(jìn)行編輯 注意每行為一個(gè)項(xiàng)

使用代碼添加\刪除

可以使用 Items 集合的 Add 方法將項(xiàng)添加到項(xiàng)列表的末尾 使用 Insert 方法將項(xiàng)插入到列表中的指定位置

可以使用 Items 集合的 Remove 方法按照名稱移除項(xiàng) 使用 RemoveAt 方法按照項(xiàng)的位置移除項(xiàng)

示例代碼如下

在控件列表尾部添加一個(gè)字符串 cccc

DomainUpDown Items Add( cccc )

把字符串 cccc 插入到索引位置 (提示 索引是從 開始)

DomainUpDown Items Insert( cccc )

刪除列表中的字符串為 cccc 的項(xiàng)

DomainUpDown Items Remove( cccc )

刪除列表中索引位置為 的項(xiàng)

DomainUpDown Items RemoveAt( )

使用Clear方法清除DomainUpDown 控件的所有項(xiàng)

DomainUpDown Items Clear()

四 DomainUpDown 控件的其它屬性

Sorted 屬性 指示項(xiàng)集合是否排序 當(dāng) Sorted 設(shè)置為 true 時(shí) 將按字母順序?qū)吓判?默認(rèn)為False

Wrap 屬性 當(dāng) Wrap 設(shè)置為 true 時(shí) 如果達(dá)到了集合中的最后一項(xiàng)并繼續(xù)滾動(dòng) 則列表將從第一項(xiàng)重新開始 看起來像是連續(xù)的

lishixinzhi/Article/program/net/201311/11362

vb.net dataview 的用法

定制數(shù)據(jù)視圖

DataView類用來表示定制的DataTable的視圖。DataTable和DataView的關(guān)系是遵循著名的設(shè)計(jì)模式--文檔/視圖模式,其中DataTable是文檔,而Dataview是視圖。

在任何時(shí)候,你都可以有多個(gè)基于相同數(shù)據(jù)的不同的視圖。更重要的是,你可以對(duì)每一個(gè)具有自己一套屬性、方法、事件的視圖作為獨(dú)立的對(duì)象進(jìn)行處理。這也代表了相對(duì)ADO一個(gè)巨大的飛躍。

創(chuàng)建DataView

public DataView();

public DataView(DataTable);

DataView只有同已經(jīng)存在的、很可能是非空的DataTable對(duì)象連接后才可用。通常,這個(gè)連接在構(gòu)造時(shí)就指定了。

DataView dv;

dv = new DataView(theDataSet.Tables["Employees"]);

但是,你也可以先創(chuàng)建一個(gè)新的視圖,然后再用Table屬性同表相關(guān)聯(lián)。

DataView dv = new DataView();

dv.Table = theDataSet.Tables["Employees"];

DataView構(gòu)造函數(shù)使你由DataTable中得到一個(gè)DataView對(duì)象。如果需要,反之亦可。事實(shí)上,DataTable對(duì)象的DefaultView屬性返回一個(gè)該表的DataView對(duì)象。

DataView dv = dt.DefaultView;

一旦你有了DataView對(duì)象, 你可以利用它的屬性來建立你希望用戶見到的數(shù)據(jù)行集。一般,你可以使用下列屬性:

RowFilter

Sort

前者可以定制視圖中可見數(shù)據(jù)應(yīng)匹配的規(guī)則。而后者通過表達(dá)式來進(jìn)行排序。當(dāng)然你可以使用這兩者的任意組合。

設(shè)置過濾 RowFilter是一個(gè)可讀寫的屬性,用來讀取和設(shè)置表過濾的表達(dá)式。

public virtual string RowFilter {get; set;}

你可以用列名,邏輯和數(shù)字運(yùn)算符和常量的任意合法組合組成表達(dá)式。以下是一些例子:

dv.RowFilter = "Country = 'USA'";

dv.RowFilter = "EmployeeID 5 AND Birthdate #1/31/82#"

dv.RowFilter = "Description LIKE '*product*'"

讓我們來看一下過濾器的基本規(guī)則和運(yùn)算符。

過濾字符串是表達(dá)式的邏輯連接。可以用AND,OR,NOT來連接成一個(gè)較短的表達(dá)式,也可以使用圓括號(hào)來組成子句,指定優(yōu)先的運(yùn)算。

通常包含列名的子句同字母、數(shù)字、日期或另一個(gè)列名進(jìn)行比較。這里,可以使用關(guān)系運(yùn)算符和算術(shù)運(yùn)算符,如=, , , +, *, % (取模)等等。

如果要選取的行并不能方便地通過算術(shù)或邏輯運(yùn)算符表達(dá),你可以使用IN操作符。以下代碼顯示如何選取一個(gè)隨機(jī)行:

dv.RowFilter = "employeeID IN (2,4,5)"

你也可以使用通配符*和%,它們同LIKE運(yùn)算符一起使用時(shí)顯得更有用。它們都表示任意數(shù)量的字符,可以相互替代使用。

請(qǐng)注意,如果在LIKE子句中已經(jīng)有了*或%字符,你必須用方括號(hào)將其括起,以免歧義。如果很不幸,字符串中方括號(hào)本身也存在了,那么它也必須用將本身括起。這樣,匹配語句會(huì)如下所示:

dv.RowFilter = "Description LIKE '[[]*[]]product[[]*[]]"

通配符只允許在過濾字符串的開頭或結(jié)尾處使用,而不能在字符串中間出現(xiàn)。例如,下列語句會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤:

dv.RowFilter = "Description LIKE 'prod*ct"

字符串必須以單引號(hào)括起,而日期型必須以#符號(hào)括起。字符型值可以使用小數(shù)點(diǎn)和科學(xué)計(jì)數(shù)法。

RowFilter也支持聚合函數(shù),如SUM, COUNT, MIN,MAX, and AVG。如果表中沒有數(shù)據(jù)行,那么函數(shù)將返回NULL。

在介紹RowFilter表達(dá)式的最后,讓我們討論三個(gè)很便利的函數(shù):Len,IIF和Substring。

正如其名,Len()返回特定表達(dá)式的長(zhǎng)度。該表達(dá)式可以是一個(gè)列名,也可以是其他合法的表達(dá)式。

Substring()返回指定的表達(dá)式自特定位置開始,特定長(zhǎng)度的字符子串。

我最喜歡用的是IIF(),它按照邏輯表達(dá)式的值有一到兩個(gè)值。IIF是IF-THEN-ELSE語句的緊湊表達(dá)。語法如下:

IIF(expression, if_true, if_false)

通 過該函數(shù),可以建立非常復(fù)雜的過濾字符串。例如,假定你從SQL Server的Northwind數(shù)據(jù)庫中取得Employees表,下列表達(dá)式可以選出那些employeeID小于6且lastname為偶數(shù)個(gè)字符 和employeeID大于6且lastname為奇數(shù)個(gè)字符的員工。

IIF(employeeID6, Len(lastname) %2 =0, Len(lastname) %2 0)

預(yù)排視圖

在上面的舉例中,datagrid必須負(fù)責(zé)預(yù)排視圖中的數(shù)據(jù)行,以便刷新用戶界面。這個(gè)自動(dòng)機(jī)制是.NET

數(shù)據(jù)綁定的產(chǎn)物。Datagrid是通過DataSource屬性來獲取數(shù)據(jù)的數(shù)據(jù)綁定控件。DataView是一個(gè)可數(shù)據(jù)綁定的類,可構(gòu)建DataSource屬性的內(nèi)容。

如果你想使用datagrid之外的另一個(gè)控件,應(yīng)該怎么辦呢?又如果你不想使用自動(dòng)數(shù)據(jù)綁定呢?應(yīng)該怎樣預(yù)排視圖中所選的數(shù)據(jù)行呢?

DataView的Table屬性指向相應(yīng)的數(shù)據(jù)表,但DataTable并不保存過濾信息。所以,預(yù)排表中的數(shù)據(jù)注定是不可行的。雖然DataTable和DataView是緊密相聯(lián)的,但它們各自保持獨(dú)立,并執(zhí)行獨(dú)立的功能。

以下Visual Basic .NET代碼段顯示了如何遍歷視圖中所有的數(shù)據(jù)行,并加入到listbox中。

Dim dv As New DataView()

dv = ds.Tables("Employees").DefaultView

dv.RowFilter = "employeeid 5"

ListBox1.Items.Clear()

Dim buf As String

Dim dr As DataRowView

For Each dr In dv

buf = ""

buf = dr("lastname").ToString() ", " dr("firstName").ToString()

ListBox1.Items.Add(buf)

Next

正如前面說提到的,DataView是可枚舉的類,因此你可以安全的將它傳給For..Each語句。Count屬性存儲(chǔ)了視圖中數(shù)據(jù)行數(shù),以便在For..Next循環(huán)中使用。

要訪問視圖中某一行,可以使用DataRowView類。DataRowView可表示DataRow的視圖,就像DataView表達(dá)DataTable定制的視圖一樣。

總的來說,DataRow最多有四種狀態(tài):default,original,current和proposed。這些狀態(tài)由DataRowVersion枚舉類型設(shè)置,由RowVersion屬性表達(dá)。

DataRow的視圖只能是其中某一種狀態(tài)。

數(shù)據(jù)行的默認(rèn)(default)版本只有當(dāng)其列在構(gòu)造時(shí)設(shè)定了默認(rèn)值時(shí)才有。而初始(original)版本是指在最后一次調(diào)用表的AcceptChanges后,從數(shù)劇源中得到數(shù)據(jù)行或快照。當(dāng)前(Current)版本是指當(dāng)前的數(shù)據(jù)行,包括所有當(dāng)時(shí)發(fā)生的更新。Proposed狀態(tài)只存在于調(diào)用BeginEdit和EndEdit的編輯過程中。

可以通過訪問DataRow相同的語法訪問DataRowView。這里最重要的屬性叫Item。

排序和其他便捷的特性

DataView支持Sort屬性,可以用來對(duì)視圖中的內(nèi)容排序。Sort由用逗號(hào)分隔的列名表達(dá)式進(jìn)行排序。通過在任何列名后加ASC或者DESC限定詞,可以使得字段按照上升或者下降的順序排列。如果沒有方向限定詞,默認(rèn)順序?yàn)锳SC。

DataView是內(nèi)存中的對(duì)象,所以排序在本地進(jìn)行,無需調(diào)用數(shù)據(jù)庫服務(wù)器。

RowStateFilter是DataView另一有趣的屬性。它可以用任何預(yù)定義的標(biāo)準(zhǔn)來過濾DataTable中的內(nèi)容。下表中是DataViewRowState枚舉類型的所有取值:

CurrentRows包括所有未更新的、新的和修改的數(shù)據(jù)行Deleted所有自上次調(diào)用AcceptChanges后刪除的數(shù)據(jù)行ModifiedCurrent所有自上次調(diào)用AcceptChanges后修改過的數(shù)據(jù)行ModifiedOriginal所有自上次調(diào)用AcceptChanges后original版本的數(shù)據(jù)行New所有自上次調(diào)用AcceptChanges后新添加的行OriginalRows返回初始數(shù)據(jù)行,包含unchanged和deleted 的Unchanged所有未更新的數(shù)據(jù)行

如果要操作非連接的數(shù)據(jù),所有更新都在對(duì)DataTable調(diào)用AcceptChanges后生效。對(duì)單一行的更新在調(diào)用DataRow的AcceptChanges后生效。類似的,這些更新可以通過調(diào)用DataTable或DataRow對(duì)象的RejectChanges來取消。

DataView對(duì)象還有一些屬性,如AllowEdit,AllowDelete和AllowNew,用來得到或設(shè)定是否允許更新的值。它們的默認(rèn)值設(shè)為True,允許任何種類的更新。如果在標(biāo)志設(shè)為False時(shí),你想要完成相應(yīng)的更新操作,會(huì)有一個(gè)運(yùn)行時(shí)錯(cuò)誤發(fā)生。

DataViewManager類

DataTable對(duì)象的DefaultView屬性用來返回一個(gè)DataView對(duì)象,作為數(shù)據(jù)表中內(nèi)容的默認(rèn)視圖。它按照自然順序讀取數(shù)據(jù)并顯示表中所有的行,而不使用任何過濾。

theMasterGrid.DataSource = m_ds.Tables("Employees").DefaultView

如果需要數(shù)據(jù)特定的視圖,你可以進(jìn)行排序并/或?qū)efaultView對(duì)象直接進(jìn)行過濾。

m_ds.Tables("Employees").DefaultView.Sort = "lastname"

theMasterGrid.DataSource = m_ds.Tables("Employees").DefaultView

DataViewManager類是用來存儲(chǔ)DataSet中所有表的視圖設(shè)置。

可以通過傳遞一個(gè)合法的非空的DataSet給類的構(gòu)造函數(shù)來創(chuàng)建DataViewManager

Dim dvm As DataViewManager

dvm = New DataViewManager(m_ds)

也可以通過DataSet對(duì)象的DefaultViewManager屬性直接得到:

Dim dvm As DataViewManager = m_ds.DefaultViewManager

重要的是DataViewManager類是同一個(gè)DataSet相關(guān)聯(lián)的。下面是另一種可行的方法:

Dim dvm As New DataViewManager()

dvm.DataSet = m_ds

DataViewManager最重要的屬性是DataViewSettings,一個(gè)DataViewSetting對(duì)象的集合。

Dim dvs As DataViewSetting

dvs = dvm.DataViewSettings("Employees")

dvs.Sort = "lastname"

DataViewSetting對(duì)象包含了表視圖的參數(shù)信息。當(dāng)將數(shù)據(jù)綁定到對(duì)數(shù)據(jù)敏感的控件時(shí),使用DataViewManager而不是DataSet或DataTable可以保留你的視圖設(shè)置(過濾和排序字段)

theMasterGrid.DataSource = dvm

theMasterGrid.DataMember = "Employees"

在這里,視圖按照DataViewSetting中對(duì)Employees表指定的自動(dòng)進(jìn)行排序和過濾。換而言之,DataViewSetting類是對(duì)特定表的視圖的一種緩存。

VB.NET中treeview的使用

Nodes 集合包含分配給 TreeView 控件的所有 TreeNode 對(duì)象。此集合中的樹節(jié)點(diǎn)稱作根樹節(jié)點(diǎn)。隨后添加到根樹節(jié)點(diǎn)上的任何樹節(jié)點(diǎn)稱作子節(jié)點(diǎn)。由于每個(gè) TreeNode 都可以包含其他 TreeNode 對(duì)象的集合,您可能會(huì)在循環(huán)訪問集合時(shí)覺得很難確定自己在樹結(jié)構(gòu)中的位置。您可以使用 PathSeparator 字符串值來分析 TreeNode.FullPath 字符串,以確定 TreeNode 標(biāo)簽的起始和終止位置。

可以在樹節(jié)點(diǎn)旁顯示圖像,方法是將一個(gè) ImageList 分配給 ImageList 屬性,然后通過引用 Image 在 ImageList 中的索引值來分配該 Image。使用下面的屬性分配圖像:

將 ImageIndex 屬性設(shè)置為當(dāng)樹節(jié)點(diǎn)未選定時(shí)所顯示的 Image 的索引值。

將 SelectedImageIndex 屬性設(shè)置為當(dāng)樹節(jié)點(diǎn)被選定時(shí)要顯示的 Image 的索引值。

ImageIndex 和 SelectedImageIndex 屬性值所引用的圖像是所有分配給 Nodes 集合的樹節(jié)點(diǎn)顯示的默認(rèn)圖像。每個(gè)樹節(jié)點(diǎn)都可以通過設(shè)置 TreeNode.ImageIndex 和 TreeNode.SelectedImageIndex 屬性來取代默認(rèn)的圖像。

樹節(jié)點(diǎn)可以展開,以顯示下一級(jí)子樹節(jié)點(diǎn)。用戶可以在 TreeNode 旁顯示加號(hào) (+) 按鈕時(shí)通過單擊加號(hào) (+) 按鈕來展開 TreeNode,或者可以通過調(diào)用 TreeNode.Expand 方法來展開 TreeNode。若要展開 Nodes 集合中的所有子樹節(jié)點(diǎn)級(jí)別,請(qǐng)調(diào)用 ExpandAll 方法。若要折疊子 TreeNode 級(jí)別,可以調(diào)用 TreeNode.Collapse 方法,也可以在 TreeNode 旁顯示減號(hào) (-) 按鈕時(shí)按減號(hào) (-) 按鈕。還可以通過調(diào)用 TreeNode.Toggle 方法在展開和折疊狀態(tài)之間切換。

樹節(jié)點(diǎn)可以選擇性地顯示復(fù)選框。若要顯示復(fù)選框,請(qǐng)將 TreeView 的 CheckBoxes 屬性設(shè)置為 true。對(duì)于處于選中狀態(tài)的樹節(jié)點(diǎn),Checked 屬性設(shè)置為 true。

注意

從 BeforeCheck 或 AfterCheck 事件內(nèi)設(shè)置 TreeNode.Checked 屬性將導(dǎo)致該事件被多次引發(fā)并可能產(chǎn)生意外行為。例如,您可以在遞歸更新子節(jié)點(diǎn)時(shí)在事件處理程序中設(shè)置 Checked 屬性,以便用戶不必逐個(gè)展開并選中每個(gè)節(jié)點(diǎn)。如果未將 TreeViewEventArgs 的 Action 屬性設(shè)置為 TreeViewAction.Unknown,則若要防止該事件被多次引發(fā),需為僅執(zhí)行遞歸代碼的事件處理程序添加邏輯。有關(guān)如何進(jìn)行此操作的示例,請(qǐng)參見 AfterCheck 或 BeforeCheck 事件的示例部分。

通過設(shè)置 TreeView 控件的一些顯示和樣式屬性,可以更改此控件的外觀。如果將 ShowPlusMinus 設(shè)置為 true,則會(huì)分別在每個(gè)可展開或折疊的 TreeNode 旁顯示加號(hào)或減號(hào)按鈕。如果將 ShowRootLines 屬性設(shè)置為 true,TreeView 則會(huì)顯示聯(lián)接所有根樹節(jié)點(diǎn)之間的連線。通過將 ShowLines 屬性設(shè)置為 true,可以顯示子樹節(jié)點(diǎn)與其根節(jié)點(diǎn)之間的連線。如果將 HotTracking 屬性設(shè)置為 true,那么當(dāng)鼠標(biāo)指針移過樹節(jié)點(diǎn)標(biāo)簽時(shí),樹節(jié)點(diǎn)標(biāo)簽的外觀將發(fā)生變化。如果啟用熱跟蹤,樹節(jié)點(diǎn)標(biāo)簽將具有超鏈接的外觀。也可以完全自定義 TreeView 控件的外觀。若要執(zhí)行此操作,請(qǐng)將 DrawMode 屬性設(shè)置為 TreeViewDrawMode.Normal 以外的值并處理 DrawNode 事件。

注意

在運(yùn)行時(shí)設(shè)置 CheckBoxes、Scrollable、ImageIndex 和 SelectedImageIndex 屬性時(shí),將重新創(chuàng)建 TreeView 句柄(請(qǐng)參見 Control.RecreateHandle)以更新控件的外觀。這將折疊除選定的 TreeNode 之外的所有樹節(jié)點(diǎn)。

下面的代碼示例闡釋了如何使用 TreeView 控件。

Private Sub InitializeTreeView()

treeView1.BeginUpdate()

treeView1.Nodes.Add("Parent")

treeView1.Nodes(0).Nodes.Add("Child 1")

treeView1.Nodes(0).Nodes.Add("Child 2")

treeView1.Nodes(0).Nodes(1).Nodes.Add("Grandchild")

treeView1.Nodes(0).Nodes(1).Nodes(0).Nodes.Add("Great Grandchild")

treeView1.EndUpdate()

End Sub

From MSDN

VB.net 如何查詢某值在DataSet的哪一行哪一列?

行列循環(huán)查詢就可以了阿

假如?DataSet1是你的?DataSet,見下面的代碼

Dim?db?As?DataTable?=?DataSet1.Tables("表名")

Dim?c?As?Integer?=?db.Columns.Count?-?1

Dim?r?As?Integer?=?db.Rows.Count?-?1

For?i?=?0?To?r

For?j?=?0?To?c

If?db.Rows(r).Item(i)?=?"A"?Then

MsgBox("行是:"??i??"列是:"??j)

End?If

Next

Next

VB.NET ListView1控件添加數(shù)據(jù)

要使用ListView控件,需要加入組件:

Microsoft Windows Common Controls 6.0

Windows資源管理器的右半部分,就是一個(gè)ListView控件。

作用

列出并列關(guān)系的對(duì)象及對(duì)象屬性。

ListView控件的對(duì)象層次結(jié)構(gòu)

ListView -整個(gè)控件

ColumnHeaders -標(biāo)題行

ColumnHeader -標(biāo)題列

ListItems -對(duì)象行集合

ListItem -對(duì)象行

ListSubItems -對(duì)象屬性集合

ListSubItem -對(duì)象屬性

注意:SubItems和ListSubItems的區(qū)別:SubItems是一個(gè)String數(shù)組;ListSubItems是一個(gè)集合。

屬性

View:設(shè)置ListView的外觀

Sorted:設(shè)置ListView中的對(duì)象集合是否排序。

SortKey:設(shè)置以第幾項(xiàng)排序。從零開始。

SelectedItem:返回選中的對(duì)象的引用。

事件

AfterLabelEdit:編輯ListItem對(duì)象的標(biāo)簽時(shí)被觸發(fā)。

BeforeLabelEdit:編輯ListItem對(duì)象的標(biāo)簽后出發(fā)。

ColumnClick:?jiǎn)螕袅袠?biāo)題時(shí)觸發(fā)。參數(shù)中可以獲得被單擊的列對(duì)象。通常用于排序。

ItemClick:?jiǎn)螕裟承谢蚰矻istItem時(shí)觸發(fā)。參數(shù)中可以獲得被單擊的ListItem對(duì)象。

方法

FindItem:搜索ListItem對(duì)象。

參數(shù):

string:搜索字符串。

value:在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:開始搜索的位置。

match:匹配方式。

HitTest:檢索位于特定坐標(biāo)處的ListItem對(duì)象。

ListView控件比前面幾種控件要復(fù)雜一些,通過此控件,可將項(xiàng)目組成帶有或不帶有列標(biāo)頭的列,并顯示伴隨的圖標(biāo)和文本。ListView控件是由ColumnHeader和ListItem對(duì)象所組成的,其中ColumnHeader對(duì)象的個(gè)數(shù)決定了控件的列數(shù),而ListItem對(duì)象的個(gè)數(shù)則決定了控件的行數(shù)。(圖7)

ColumnHeader對(duì)象是ListView控件中包含標(biāo)頭文字的項(xiàng)目。利用ColumnHeader對(duì)象,用戶可以:

▲單擊對(duì)象觸發(fā)ColumnClick事件并根據(jù)數(shù)據(jù)項(xiàng)目將項(xiàng)目排序。

▲拖動(dòng)對(duì)象的右邊框來調(diào)整列寬度。

▲在報(bào)表視圖中隱藏ColumnHeader對(duì)象。

ColumnHeader對(duì)象的數(shù)目決定每個(gè)ListItem對(duì)象可包含的子項(xiàng)目數(shù)目。刪除ColumnHeader對(duì)象后所有與列關(guān)聯(lián)的子項(xiàng)目也將被刪除,并且每個(gè)ListItem對(duì)象的子項(xiàng)目數(shù)組將平移以更新ColumnHeader的索引,而這將導(dǎo)致剩余的列標(biāo)頭SubItemIndex屬性的改變。

ColumnHeader對(duì)象的SubItemIndex屬性

該屬性返回與ListView控件中ColumnHeader對(duì)象關(guān)聯(lián)的子項(xiàng)目的索引。子項(xiàng)目是字符串?dāng)?shù)組,代表顯示在報(bào)表視圖中的ListItem對(duì)象的數(shù)據(jù)。第一列的列標(biāo)頭SubItemIndex屬性設(shè)置為0,這是因?yàn)樾D標(biāo)和ListItem對(duì)象的文字總出現(xiàn)在第一列中,而且它們被當(dāng)作ListItem對(duì)象而不是子項(xiàng)目。列標(biāo)頭數(shù)目取決于子項(xiàng)目數(shù)目。列標(biāo)頭數(shù)目總是比子項(xiàng)目數(shù)目多1。

在設(shè)計(jì)時(shí)可以利用屬性頁的“列首”選項(xiàng)卡將ColumnHeader對(duì)象添加到ListView控件中,在運(yùn)行時(shí)則用Add方法添加。

ColumnHeader對(duì)象的Add方法

該方法的使用與前面那些控件基本相似,就不再介紹了。

ListView1.ColumnHeader.Add(index,key,text,width,alignment)

ListItem對(duì)象是指控件中的一行(不包含標(biāo)頭行)的所有內(nèi)容。它也可包含文本和圖片,但是要使用圖片則必須通過Icons和SmallIcons屬性引用ImageList控件。

ListItem對(duì)象的SubItems屬性

返回或設(shè)置一個(gè)字符串(子項(xiàng)目)數(shù)組,它代表ListView控件中ListItem對(duì)象的數(shù)據(jù)。

ListItem對(duì)象可包含任意多個(gè)的關(guān)聯(lián)項(xiàng)目數(shù)據(jù)字符串(子項(xiàng)目),但每個(gè)ListItem對(duì)象子項(xiàng)目數(shù)目必須相同。每個(gè)子項(xiàng)目都對(duì)應(yīng)于相關(guān)的列標(biāo)頭,無法直接向子項(xiàng)目數(shù)組添加元素,只有通過ColumnHeaders的Add方法添加列標(biāo)頭的方法來添加子項(xiàng)目。

ListItem對(duì)象的Add方法

該方法添加ListItem對(duì)象到ListView控件的ListItems集合中并返回對(duì)新創(chuàng)建對(duì)象的引用。

它的語法如下:

ListItem1.Add(index,key,text,icon,smallIcon)

ListView控件的View屬性

ListView控件可使用四種不同視圖顯示項(xiàng)目,這可以用View屬性來確定。該屬性返回或設(shè)置ListView控件中ListItem對(duì)象的外觀。

ListView控件的SortOrder,SortKey和Sorted屬性

控件中的ListItem對(duì)象可以按要求進(jìn)行排序,與排序有關(guān)的屬性是SortOrder,Sorted和SortKey屬性。

SortOrder屬性返回或設(shè)置一個(gè)值,此值決定ListView控件中的ListItem對(duì)象以升序或降序排序。

SortKey屬性返回或設(shè)置一個(gè)值,此值決定ListView控件中的ListItem對(duì)象如何排序。

Sorted屬性返回或設(shè)置確定ListView控件中的ListItem對(duì)象是否排序的值。

下面的代碼說明了如何創(chuàng)建ColumnHeaders和ListItem對(duì)象,SubItemIndex和SubItem屬性的使用方法以及如何排序。

Private Sub Form_load()

'確保ListView控件的view屬性為報(bào)表視圖。

ListView1.View=lvwReport

'添加三列。

ListView1.ColumnHeaders.Add,"Name","姓名"

ListView1.ColumnHeaders.Add,"Sex","性別"

ListView1.ColumnHeaders.Add,"Age","年齡"

'向控件添加ListItem對(duì)象。

Dim itmX As ListItem

'添加column1的名稱。

Set itmX=ListView1.ListItems.Add(1,"ZL","張力")

'使用SubItemIndex將SubItem與正確的ColumnHeader關(guān)聯(lián)。使用關(guān)鍵字("Sex")指定正確的ColumnHeader。

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

'使用ColumnHeader關(guān)鍵字將SubItems字符串與

'正確的ColumnHeader關(guān)聯(lián)。

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"

Set itmX=ListView1.ListItems.Add(1,"LF","李芳")

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"

Set itmX=ListView1.ListItems.Add(1,"WW","王偉")

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"

End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader)

Select Case ColumnHeader.Key

Case "Sex":ListView1.SortKey=1

ListView1.SortOrder=lvwAscending

ListView1.Sorted=True

Case "Age":ListView1.SortKey=2

ListView1.SortOrder=lvwAscending

ListView1.Sorted=True

End Select

End Sub

分享名稱:vb.net集合排序 vbnet數(shù)組排序方法
分享路徑:http://chinadenli.net/article28/dodhcjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司云服務(wù)器微信小程序虛擬主機(jī)網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管