C 中DataBindings用法例項分析

2022-09-26 05:54:07 字數 3069 閱讀 8189

在c#運算元據庫過程中,針對一般的文字控制項,比如textbox,label等,我們賦值直接使用類似textbox.text=****的方式來進行,這種方式從某種意義上來說的確是最簡便的方式,但是對於複雜一些的空間,比如說datagridview,這個時候,繫結資料來源我們一般使用datagridview1.datasource=****的方式來進行,如果資料來源稍微有更改,那麼只需要重新呼叫繫結一遍即可。可以說這種方式是單向的,也即從資料庫到ui,但是有沒有一種方式能夠實現資料來源改變的時候,不用重新繫結datagridview就讓它能夠自動重新整理資料呢,當然,這裡要提到的就是databinding了。

**如下

form2.cs**:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

namespace databindingstest

mydatasource mydatasource = new mydatasource(); //應用於第二種方式

public int num //應用於第三種方式

public list blognews //應用於第四種方式

public bindinglist blognewsregardui //應用於datagridview介面ui更新

private void mainfrm_load(object sender, eventargs e)

);blognews.add(new blognew );

blognews.add(new blognew );

datagridview1.databindings.add("datasource", this, "blognews", false, datasourceupdatemode.onpropertychanged);

#endregion

#region 測試五 : bindinglist

blognewsregardui = new bindinglist();

blognewsregardui.add(new blognew );

blognewsregardui.add(new blognew );

blognewsregardui.add(new blognew );

datagridview2.databindings.add("datasource", this, "blognewsregardui", false, datasourceupdatemode.onpropertychanged);

#endregion

}private void button1_click(object sender, eventargs e)

private void button2_click(object sender, eventargs e)

private void button3_click(object sender, eventargs e)

);foreach (blognew blognew in datagridview1.datasource as list)

}private void button4_click(object sender, eventargs e));}

} public class mydatasource

}public class blognew

public string blogtitle

}}form2.designer.cs**:

namespace databindingstest

base.dispose(disposing);

}#region windows form designer generated code

///

/// required method for designer support - do not modify

/// the contents of this method with the code editor.

///

private void initializecomponent()

#endregion

private system.windows.forms.groupbox groupbox1;

private system.windows.forms.groupbox groupbox2;

private system.windows.forms.button button1;

private system.windows.forms.textbox textbox2;

private system.windows.forms.groupbox groupbox3;

private system.windows.forms.button button2;

private system.windows.forms.textbox textbox3;

private system.windows.forms.groupbox groupbox4;

private system.windows.forms.button button3;

private system.windows.forms.datagridview datagridview1;

private system.windows.forms.groupbox groupbox5;

private system.windows.forms.button button4;

private system.windows.forms.datagridview datagridview2;

private system.windows.forms.trackbar trackbar1;

private system.windows.forms.textbox textbox1;

}}效果圖:

c 自定義型別的DataBindings

自定義型別textboxex,擴充套件了textbox,增加了乙個屬性keytext來儲存後台的值 tag已另作它用 程式裡面需要將keytext和datatable的某個列繫結起來。如果是textbox,只需要簡單處理即可 txt.databindings.add text dt,colname,...

c 自定義型別的DataBindings

自定義型別textboxex,擴充套件了textbox,增加了乙個屬性keytext來儲存後台的值 tag已另作它用 程式裡面需要將keytext和datatable的某個列繫結起來。如果是textbox,只需要簡單處理即可 txt.databindings.add text dt,colname,...

c 中的萬用字元怎麼用???

c 字串的查詢函式是substring 判斷是否以高手結尾 string s textbox1.text if s.substring s.length 2,2 我是誰?messagebox.show 是以我是誰?結尾 else messagebox.show 不是以我是誰 結尾 還有更簡單的end...