熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

DataGridView操作技巧

2013-11-13 09:43:01  來源: .NET編程 

  通常會設置的DataGridView的屬性

  AllowUserToAddRows False

  指示是否向用戶顯示用於添加行的選項列標題下面的一行空行將消失一般讓其消失

  AllowUserToDeleteRows False

  指示是否允許用戶從DataGridView刪除行一般不允許

  AllowUserToOrderColumns False

  指示是否啟用手動列重新放置一般不允許

  AllowUserToResizeColumns True

  指示用戶是否可以調整列的大小一般允許

  AllowUserToResizeRows False

  指示用戶是否可以調整行的大小一般不允許

  AutoSizeColumnsMode Fill

  確定可見列的自動調整大小模式

  BorderStyle None/FixedSingle/FixedD

  DataGridView的邊框樣式

  GridColor 任意

  分隔DataGridView單元格的網格線的顏色

  MultiSelect False

  指示用戶一次是否可以選擇DataGridView的多個單元格行或列

  ReadOnly True

  指示用戶是否可以編輯DataGridView控件的單元格

  RowHeadersVisible False

  指示是否顯示包含行標題的列

  SelectionMode FullRowSelected

  指示如何選擇DataGridView的單元格

  

  如何獲取用戶所選的那個單元格中的內容?

  string oop = thisDataGridViewSelectedRows[]Cells[]ValueToString()Trim();

  上面語句的意思是將用戶所選的第一行中第一個單元格中的值轉換為String類型並去處兩邊的空格賦值給oop字符串

  

  如何獲取用戶所選的那行中我想得到的單元格中的內容?

  string loginID = thisDataGridViewRows[eRowIndex]Cells[LoginID]ValueToString()Trim();

  eRowIndex 獲取觸發此單擊事件時用戶所選行的下標

  上面的語句寫在DataGridView控件的單擊事件中雙擊事件也可以LoginID是DataGridView控件中一列的列名作用就是獲取用戶選中那一行的表示LoginID的內容

  

  如何確定用戶是否選擇了DataGridView中的一行數據而沒有點到別處呢?

  if (thisDataGridViewSelectedRowsCount != ) {}

  

  如何將用戶所選的那行數據整體獲取出來?

  前提是DataGridView的數據源是一個實體類集合這樣DataGridView中的每行數據才都是一個實體類對象將DataGridView中的一行數據整體獲取出來才有意義

  Student student = thisDataGridViewSelectedRows[]DataBoundItem as Student;

  一般上面的語句都寫在DataGridView的單擊或雙擊事件中

  

  弄不好在DataGridView中會顯示多余的列如何避免這種問題呢?

  在DataGridView控件的Load事件的第一行寫上這樣的代碼

  private void frmMain_Load(object sender EventArgs e) {

  thisdataGridViewAutoGenerateColumns = false;  //讓它不自己產生多余的列

  }

  

  DataGridView 控件的 Columns 屬性中 (Name) 屬性是為此控件的列命名可以輸入任何名字DataPropertyName 是綁定於 DataSet 中表的列必須與你要調用的表的列的名字相同HeaderText 是運行時顯示在 DataGridView 中每列的標題


From:http://tw.wingwit.com/Article/program/net/201311/11403.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.