1. 程式人生 > >C# DataGridView控制元件與ListView控制元件的對比學習(二):ListView控制元件學習

C# DataGridView控制元件與ListView控制元件的對比學習(二):ListView控制元件學習

一、定義:

    表示Windows列表檢視控制元件,一般用來呈現資料,是一種輕量級的呈現資料的方法。

二、重要的屬性:

    1、第一個非常重要的屬性是View:獲取或設定項在控制元件中的顯示方式,包括Details、LargeIcon、List、SmallIcon、Tile(預設為 LargeIcon)

        (1)LargeIcon:每個項都顯示為一個最大化圖示,在它的下面有一個標籤;

        (2)SmallIcon:每個項都顯示為一個小圖示,在它的右邊帶一個標籤;

        (3)List:每個項都顯示為一個小圖示,在它的右邊帶一個標籤。各項排列在列中,沒有列標頭;

        (4)Details:可以顯示任意的列,但只有第一列可以包含一個小圖示和標籤,其它的列項只能顯示文字資訊,有列表頭;

        (5)Tile:每個項都顯示為一個完整大小的圖示,在它的右邊帶項標籤和子項資訊。(只有Windows XP 和 Windows Server 2003 系列支援)

        與之相關的屬性有:

            LargeImageList:大圖示集。提示:只在LargeIcon檢視使用。

            SmallImageList:小圖示集。提示:只有在SmallIcon檢視使用。

    2、第二個比較重要的屬性是HeaderStyle:獲取或設定列標頭樣式,有三種樣式供選擇:

              Clickable:列標頭的作用類似於按鈕,單擊時可以執行操作(例如排序);

              NonClickable:列標頭不響應滑鼠單擊;

              None:不顯示列標頭。

        當HeaderStyle的樣式為Clickable時,就必須和ColumnClick配合使用,即當用戶在列表檢視控制元件中單擊列標頭時發生;

        使用者在點選表頭時一般用於排序,所以,與之相關的屬性有:

            Soritng:對列表檢視的項進行排序。(預設為None)

                Ascending:項按遞增順序排序。

                Descending:項按遞減順序排序。

                None:項未排序。

    3、第三個比較重要的屬性是CheckBoxes:設定控制元件中各項的旁邊是否顯示覆選框(預設為False),當CheckBoxes為True時,便可以使用CheckedItems來獲取控制元件中當前複選框選中的項;

    4、第四個比較重要的屬性是LabelEdit:設定使用者是否可以編輯控制元件中項的標籤,對於Detail檢視,只能編輯行第一列的內容(預設為false);

    5、其他比較重要的屬性有:

        (1)FullRowSelect:設定是否行選擇模式。(預設為false) 提示:只有在Details檢視該屬性才有意義。

        (2) GridLines:設定行和列之間是否顯示網格線。(預設為false)提示:只有在Details檢視該屬性才有意義。

        (3)AllowColumnReorder:設定是否可拖動列標頭來對改變列的順序。(預設為false)提示:只有在Details檢視該屬性才有意義。

        (4)MultiSelect:設定是否可以選擇多個項。(預設為false) 

        (5)SelectedItems:獲取在控制元件中選定的項。

三、重要的方法:

    ListView控制元件比較重要的方法有兩個:

        · ListView.BeginUpdate();   //資料更新,UI暫時掛起,直到EndUpdate繪製控制元件,可以有效避免閃爍並大大提高載入速度

        · ListView.EndUpdate();  //結束資料處理,UI介面一次性繪製。

四、呈現資料:

    ListView控制元件呈現資料的來源有兩種:第一種,手動新增資料;第二種,從資料庫中自動獲取。

    第一種,手動新增資料:

        手動新增資料也有兩種方式,第一種是通過程式碼新增,第二種是通過操作控制元件的形式新增。當然,第二種比較簡單,首先看第二種通過操作控制元件的形式新增:

    首先,拖動ListView控制元件到視窗,調整大小和位置;

    在“”屬性“”視窗中,需要注意,“Columns”屬性設定列,“Items”屬性設定行,首先編輯Columns屬性:

在彈出的視窗中,點選“新增”按鈕之後,會出現”columnHeader1”的項,這是ListView控制元件中的列標題,此時,可以修改列標題的“Text”屬性:

    最後效果如下圖所示:

    注意,有時候,列標題出不來的,檢查一下HeaderStyle是否設定為Clickable,以及View是否設定為Details;

    然後,點選ListView控制元件右上角的倒三角形按鈕,會彈出一個命令選擇視窗,當然,點選Items屬性效果一樣。如下圖:

    點選”編輯項“,在出現的視窗中點選“新增(A)”,此時,會出現“ListViewItem”,需要明白ListViewItem是ListView控制元件中的項,即ListView中有很多的ListViewItem項:

    在“屬性”欄裡編輯“SubItems”選項:

    點選“新增”後,在“成員”組欄裡,會出現“ListViewSubItem”,不難發現,ListViewItem與ListViewSubItem的關係。此時,編輯“Text”屬性,最後效果圖如下:

    通過程式碼新增時,程式碼如下:

private ListView CreateLV(){    ListView listView1 = new ListView();    listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200)); listView1.View = View.Details; listView1.LabelEdit = true; listView1.AllowColumnReorder = true;//調    listView1.CheckBoxes = true;    //    ColumnHeader  ch1= new ColumnHeader();     ch1.Text = "";   //    ch1.Width = 60;    //     ch1.TextAlign = HorizontalAlignment.Left;   //     listView1.Columns.Add(ch1);    //ListView     ColumnHeader  ch2= new ColumnHeader();      ch2.Text = "";   //      ch2.Width = 60;    //      ch2.TextAlign = HorizontalAlignment.Left;   //      listView1.Columns.Add(ch2);    //ListView    //    listView1.Columns.Add("", 60,  HorizontalAlignment.Left); //     //    listView1.BeginUpdate();//UIEndUpdate     for (int i = 0; i < 5; i++)   //10     {        ListViewItem lvi = new ListViewItem();         lvi.ImageIndex = i;     //imageListimageListi         lvi.Text = "subitem" + i;         lvi.SubItems.Add("2,"+i+"");         lvi.SubItems.Add("3,"+i+"");         listView1.Items.Add(lvi);     }     listView1.EndUpdate();  //UI

相關推薦

C# DataGridView控制元件ListView控制元件對比學習ListView控制元件學習

一、定義:     表示Windows列表檢視控制元件,一般用來呈現資料,是一種輕量級的呈現資料的方法。 二、重要的屬性:     1、第一個非常重要的屬性是View:獲取或設定項在控制元件中的顯示方式,包括Details、LargeIcon、List、SmallI

ionic學習Tab控制元件 學習

實現功能: 1.新增tabs頁面:下部新增一個新聞按鈕 2.去掉二級頁面tabs選單: 3.修改返回按鈕:上圖的左上方箭頭 步驟 1. 將news頁面放在下面   在tabs.ts和tabs.html中引入並顯示news元件     圖示在這

PHP7語法知識流程控制語句

bre each循環 if條件 HP Go 條件控制語句 語句 跳轉 AC 一、條件控制語句 1、if條件控制語句; 2、switch分支語句 二、循環控制語句 1、while循環; 2、do while循環; 3、for循環; 4、foreach循環; 三、跳轉語句 1、

vue學習元件化開發

首先看看vuedemo的入口函式main.js// The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.

RecyclerViewListView對比淺析View快取篇

(二)View快取篇 1. AbsListView(原始碼版本4.4) RecyclerBin是AbsListView中專門處理View快取的類,官方註釋中說明其存有兩組View——ActiveViews和ScrapViews,前者是當前Layout中正在顯示的View

【Unity3D基礎教程】給初學者看的Unity教程所有指令碼元件的基類 -- MonoBehaviour的前世今生

引子 上一次我們講了GameObject,Compoent,Time,Input,Physics,其中Time,Input,Physics都是Unity中的全域性變數。GameObject是遊戲中的基本物件。GameObject是由Component組合而成的,GameObject本身必須有

驗證碼的製作使用開源元件jcaptcha來實現驗證碼

package com.octo.captcha.module.servlet.image.sample; import com.octo.captcha.module.servlet.image.SimpleImageCaptchaServlet; import java.io.IOException;

storm教程Storm Topology元件和Storm資料來源和輸出選擇

Storm Topology元件 前面的章節已經提到過,Storm叢集中的任務稱之為Topology。 對比Hadoop中的MapReduce job,mapper用於從資料來源中獲取資料,經過簡單處理,以一定的格式傳遞給reducer,reducer負責後

golang學習筆記流程控制

歡迎訪問我的部落格和github! 今天咱們把煩人的事情丟一丟,繼續來學習go的基礎知識。 這篇文章記錄go語言的流程控制和更多型別。 流程控制 for Go 只有一種迴圈結構:for 迴圈。 基本的 for 迴圈由三部分組成,它們用分號隔開: 初始化語句:在第一次迭代前執行 條件表示式:在每次迭代前

linux入門學習linux圖形化界面命令行界面之間的切換,以及一些系統命令

之間 linu 鏡像 pan ctr 安裝 linux -- linux鏡像 一、linux圖形化界面與命令行界面之間的切換 註意:前提是你安裝的 linux鏡像ios 必須具備圖形化功能。 1)  圖形化界面--->命令行界面:       ctrl + alt +

Scrapy學習Xpath使用並行化操作

一、xpath介紹 XPath 是一門在 XML 文件中查詢資訊的語言。XPath 用於在 XML 文件中通過元素和屬性進行導航。 XPath 使用路徑表示式在 XML 文件中進行導航 XPath 包含一個標準函式庫 XPath 是 XSLT 中的主要元素 XPat

Maven學習屬性、座標依賴

前言: 1、pom檔案的配置,主要內容為屬性、座標與依賴、外掛、倉庫以及其他一些配置。 2、理解這些配置的內容,在一定程度上也就理解了Maven 的使用。 一、屬性 (一)Maven內建屬性: 1、${basedir} 專案根目錄,即包含 pom.xml 的目錄。 2、${v

Python機器學習Windows下科學計算環境搭建

【注意:安裝numpy和scipy模組時注意與Python版本保持一致】 1.安裝numpy 測試: 沒有報錯,bingo~ 2.安裝scipy 在官網中下載scipy3.4版本:scipy-0

EOS學習賬號許可權

帳戶是儲存在區塊鏈中的人類可讀識別符號。每個交易都根據配置的帳戶許可權對其許可權進行評估。每個命名的許可權都有一個閾值,在滿足該閾值的條件下才能觸發易簽名。事務通過加解鎖錢包的客戶端來簽署。錢包是保護和利用你的金鑰的軟體。這些金鑰可能會或可能不會被授予區塊鏈上的賬戶許可權。錢

動態載入外掛系統的初步實現AppDomain解除安裝代理

前一篇文章簡單展示了型別發現和MEF使用,本文初步進入AppDomain相關內容。 CLR程式執行時會建立預設程式集容器即AppDomain,預設AppDomain不支援解除安裝其程式集,但CLR支援建立和解除安裝AppDomain,這意味著我們可以間接地通過額外的AppDomain實現外掛的熱插拔。

C#程式設計學習05使用webbroswer控制元件顯示地圖並標註點位座標

  控制元件準備:新建windows窗體應用程式,新增一個標記按鈕(btn_tagPos)、標籤控制元件(經度和緯度,實時經緯度顯示)、編輯框控制元件(記錄輸入的經度和緯度值)、webbroswer控制元件(webbroswer1)和計時器控制元件(timer1) 實現程式碼:

DataGridView控制元件用法為每行記錄最後加“編輯”-“刪除”按鈕列

1. 在中已經顯示出列表資料,這時我們需要對每行資料記錄進行編輯,需要新增“編輯”、“刪除”、“檢視”這樣的超連結。程式碼如下: 1 //為每行資料增加編輯列。 2 //設定列不能自動作成 3 UserdataGridView.AutoGenerate

Java開發桌面程式學習————fxml佈局控制元件學習

JavaFx專案 新建完專案,我們的專案有三個檔案 Main.java 程式入口類,載入介面並顯示 Controller.java 事件處理,與fxml繫結 Sample.fxml 介面 sample.fxml需要通過標籤fx:controller定義對應的controller <!-- 最外

Winform DevExpress控制元件 使用SplashScreenManager控制元件定製程式載入頁面

SplashScreenManager控制元件:主要作用是顯示在進行耗時操作時的等待介面;   位於 工具箱 -> Navigation & Layout(導航欄與佈局類控制元件) 目錄下;   在工具箱輸入名稱SplashScreenManager檢索,然後直接拖拽

Android學習—— Android高階控制元件

Android高階控制元件 1、ProgressBar 進度條,在執行耗時操作時來顯示,可以提高軟體的友好型。 常用屬性 android:max:進度條的最大值 android:progress:進度條已完成進度值 android:progressDrawable:設定軌道對應的Draw