1. 程式人生 > >c# datagridvew繫結資料來源

c# datagridvew繫結資料來源

經過各種百度谷歌搜尋,終於總結出一下幾種繫結datagridview資料來源的方法:
1.說明:

俗稱資料操作多面手,是Microsoft Visual Studio中的一個控制元件。使用 DataGridView 控制元件,可以顯示和編輯來自多種不同型別的資料來源的表格資料。將資料繫結到 DataGridView 控制元件非常簡單和直觀,在大多數情況下,只需設定 DataSource 屬性即可。在繫結到包含多個列表或表的資料來源時,只需將 DataMember 屬性設定為指定要繫結的列表或表的字串即可。
  DataGridView 控制元件支援標準 Windows 窗體資料繫結模型,因此該控制元件將繫結到下表所述的類的例項:   任何實現 IList 介面的類,包括一維陣列。任何實現 IListSource 介面的類,例如 DataTable 和 DataSet 類。任何實現 IBindingList 介面的類,例如 BindingList 類。任何實現 IBindingListView 介面的類,例如 BindingSource 類。 DataGridView 控制元件支援對這些介面所返回物件的公共屬性的資料繫結,如果在返回的物件上實現 ICustomTypeDescriptor 介面,則還支援對該介面所返回的屬性集合的資料繫結。  
 通常繫結到 BindingSource 元件,並將 BindingSource 元件繫結到其他資料來源或使用業務物件填充該元件。BindingSource 元件為首選資料來源,因為該元件可以繫結到各種資料來源,並可以自動解決許多資料繫結問題。有關更多資訊,請參見 BindingSource 元件。   DataGridView 控制元件還可以在“取消繫結”模式下使用,無需任何基礎資料儲存區。有關使用未繫結的 DataGridView 控制元件的程式碼示例,請參見演練:建立未繫結的 Windows 窗體 DataGridView 控制元件。  
 DataGridView 控制元件具有極高的可配置性和可擴充套件性,它提供有大量的屬性、方法和事件,可以用來對該控制元件的外觀和行為進行自定義。當需要在 Windows 窗體應用程式中顯示錶格資料時,請首先考慮使用 DataGridView 控制元件,然後再考慮使用其他控制元件(例如 DataGrid)。若要以小型網格顯示只讀值,或者若要使使用者能夠編輯具有數百萬條記錄的表,DataGridView 控制元件將為您提供可以方便地進行程式設計以及有效地利用記憶體的解決方案。

2.繫結資料型別一 table

public void DataBind()
{
DBHelper.conn.Open();
string selStr = "select * from Consume";
SqlCommand cmd = new SqlCommand(selStr, DBHelper.conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds, "Consume");
datagridview1.DataSource = ds.Tables[0];
datagridview1.AutoGenerateColumns = false;


DBHelper.conn.Close();
}

2.繫結list

從資料庫中把資料讀出來放到一個數據集中,比如List<>、DataTable,DataSet,我一般用List<>,
然後繫結資料來源:
IList<student> sList=StudentDB.GetAllList();
DataGridView.DataSource=sList;
如果你沒有設定DataGridView的列,它會自動生成所有列

DataTable tempTable = new DataTable(); string str = @"AA|BB|CC|DD|[email protected]
@EE|FF|GG|HH|[email protected]@II|JJ|KK|LL|[email protected]@"
; string[] newstr = str.Split(new string[] { "@@" }, StringSplitOptions.RemoveEmptyEntries); string[] p = newstr[0].Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); for (int i = 1; i <= p.Count(); i++) { DataColumn dataColumn = new DataColumn(); dataColumn.DataType = typeof(string); dataColumn.ColumnName = "列名" + i.ToString(); tempTable.Columns.Add(dataColumn); } List<string> strsplit = new List<string>(); int len = 0; foreach (string in newstr) { DataRow dr = tempTable.NewRow(); strsplit = s.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries).ToList(); len = strsplit.Count; for (int i = 1; i <= len; i++) { dr["列名" + i.ToString()] = strsplit[i - 1]; } tempTable.Rows.Add(dr); } this.dataGridView1.DataSource = tempTable;

相關推薦

c# datagridvew資料來源

經過各種百度谷歌搜尋,終於總結出一下幾種繫結datagridview資料來源的方法: 1.說明: 俗稱資料操作多面手,是Microsoft Visual Studio中的一個控制元件。使用 DataGridView 控制元件,可以顯示和編輯來自多種不同型別的資料來源的表格資

c# datagridview資料來源(BindingList<class>)中的現象 待查

現象1: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using Sys

c# combobox資料來源

繫結資料來源: private void button2_Click(object sender, EventArgs e) { DataTable table = new DataTable();

C# winform ComboBox資料來源時觸發SelectedIndexChanged事件的處理

ComboBox二級聯動時,發現一個問題。如下 var wardList = (from ward in alarmInfoList sele

C# Winform datagridview控制元件資料來源後列順序混亂

現象描述:                   datagridview控制元件,預設狀態列順序正常。                   單擊查詢按鈕,繫結資料來源後,列順序出現變化。                  (如,正常應該是12345,查詢繫結資料後變為123

C# DataGridView控制元件資料來源的方式

注: 直接新增並繫結資料庫,要刪除的話,需(?)刪除資料庫中的資料,然後重新給DATAGRIDVIEW繫結資料來源,使用dataGridView.Row.Clear()無效。 第一種: DataSet ds=new DataSet (); this.da

c#中手動給dataGridView資料來源的方法

c#中手動給dataGridView繫結資料來源,這中方法操作資料的主要好處就是能夠很自由,但表現資料沒有C#自動新增資料來源那麼方便,不過我們可以手動給dataGridView新增資料來源,如果有興趣,建議你發5分鐘時間研究一下下面的實現方法.      有時為了方便操作資料,我們更願意手動連線資料來源,但

關於LookUpEdit資料來源和取值

首先在GridControl裡在Repository中新增一個GridLookUpEdit 在設定DisPlayMember(介面顯示欄位) 然後在後臺繫結資料 List<EntityBrand> entityBrand = client.GetBrandList(); this.rep

2018年11月2日 關於dropdownlist,資料來源後顯示system.data.datarowview的問題解決

準備實現兩個dropdownlist二級聯動的功能: 在一個dropdownlist 繫結過資料來源之後顯示,system.data.datarowview,無法顯示從資料庫中查詢到的值。 原因是:  DropDownList4.DataTextField沒有繫結。 &nb

DataGridView資料來源

簡單的資料繫結: using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ToString())) {   SqlDataAdapter sda = n

gridview 資料來源

本人剛剛學習asp.net+c# 整理一下關於 gridview的使用    if(!Page.IsPostBack) {            &nb

DEV元件LookupEdit,ComboBoxEdit資料來源 DEV元件LookupEdit,ComboBoxEdit資料來源

DEV元件LookupEdit,ComboBoxEdit繫結資料來源 LookupEdit可以繫結資料表(DataTable)或物件資料組(Object List)作為資料來源,下拉窗體可自定顯示欄位。繫結資料來源需要設定三個引數:DisplayMember ,ValueMember,Data

XtraReport資料來源的三種方式

一 、report.datasource直接放一個dataset或datatable 此種方法在程式碼裡實現,直接為report賦資料來源 特點: -無須生成xml -生成模板檔案.repx中不包含表結構資訊 -可用於特定表的使用,一旦將repx複製到

c++繼承和組合,多型,虛擬函式(c++後期的本質)

組合和繼承,實現了程式碼的可擴充套件性和相容性。 多型是在虛擬函式上得到了支援。 多型的原理,函式的呼叫繫結: 把函式的呼叫和函式體相關聯稱為捆綁。當捆綁是在程式執行之前完成的,稱為早期捆綁。c語言只支援早期繫結。晚期捆綁,物件通過自身得到類的資訊,然後找

C# combobx 資料

1.DataTable繫結 用DataTable直接繫結,只需要設定DataSource、DisplayMember、ValueMember三個屬性即可。 this.cmbConsume.DataSource = dtSuperMarket; this.cmbConsum

C++ 動態和靜態

virtual 函式實現多型性 #include <iostream> using namespace std; struct TreeNode { TreeNode *left; TreeNode *rignt; }; class Gener

Winform中Combox資料來源 型別作為引數傳遞

//呼叫 IniCombox(cbChannelName, typeof(Model.SystemEnum.ChannelName)); //具體實現 public void IniCombox(Relations.Control.ComBox cb, Type type)

winfrom 窗體控制元件實現二級聯動 ComboBox資料來源時觸發SelectedIndexChanged事件的處理辦法

ComboBox繫結資料來源時觸發SelectedIndexChanged事件的處理辦法 事件,而這個時候使用者並沒有選擇內容,其SelectedValue也不是對應欄位的值。那麼時寫在SelectedIndexChanged中的處理程式碼就會因為SelectedValue的內容不正確引發異常。一般網上找到

GridView在不寫後端程式碼資料來源且無資料的情況下顯示腳註行Footer的新方法

        記錄一下今天解決的一個需求,GridView在頁面上用SqlDataSource控制元件配置資料來源直接繫結,不用後臺程式碼動態繫結,然後為了方便插入資料,在參考了各位大佬的博文後,採用了在欄位的腳註行裡插入文字框控制元件,收集各列的資料,然後在後臺用S

【轉】C++動態和虛擬函式表vtable (動態實現原理)

 關於C++內部如何實現多型,對程式設計師來說即使不知道也沒關係,但是如果你想加深對多型的理解,寫出優秀的程式碼,那麼這一節就具有重要的意義。 我們知道,函式呼叫實際上是執行函式體中的程式碼。函式體是記憶體中的一個程式碼段,函式名就表示該程式碼段的首地址,函式執行時就從這裡開始。說得簡單