在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...