1.得到被綁定資料
2.設定表單的資料來源
3.建立Binding
4.將Binding與控件相關聯
示例代碼:
/// <summary>
/// 從數據庫得到資料的表
/// </summary>
DataTable dtbUserFavorite = new DataTable();
/// <summary>
/// 定義資料來源
/// </summary>
BindingSource dtsUserFavorite = new BindingSource();
/// 從數據庫得到資料的表
/// </summary>
DataTable dtbUserFavorite = new DataTable();
/// <summary>
/// 定義資料來源
/// </summary>
BindingSource dtsUserFavorite = new BindingSource();
/// <summary>
/// 綁定控件方法
/// </summary>
private void BindingControl()
{
try
{
//1、從數據庫讀取資料 dtbUserFavorite = FrontRemoting.Remoting.GetUserFavoriteDataTable(ClbFrontInfo.clsFrontInfo.UserKey, this.Tag.ToString(), "//*[Visible=1]/@name", "//@filterUser", ClbFrontInfo.clsFrontInfo.UserGUID);
//2、建立綁定源並設定為從數據庫得到的資料
dtsUserFavorite.DataSource = dtbUserFavorite;
//3、建立綁定new binding(“控件被綁的屬性”,綁定源,“對應綁定源中的值”)
Binding bdMsgIsMsn = new Binding("Checked", dtsUserFavorite, "ufMsgIsMsn");
//4、綁定控件(CheckBox)
chkMsnLike.DataBindings.Add(bdMsgIsMsn);
}
catch (Exception ex)
{
throw ex;
}
}
/// 綁定控件方法
/// </summary>
private void BindingControl()
{
try
{
//1、從數據庫讀取資料 dtbUserFavorite = FrontRemoting.Remoting.GetUserFavoriteDataTable(ClbFrontInfo.clsFrontInfo.UserKey, this.Tag.ToString(), "//*[Visible=1]/@name", "//@filterUser", ClbFrontInfo.clsFrontInfo.UserGUID);
//2、建立綁定源並設定為從數據庫得到的資料
dtsUserFavorite.DataSource = dtbUserFavorite;
//3、建立綁定new binding(“控件被綁的屬性”,綁定源,“對應綁定源中的值”)
Binding bdMsgIsMsn = new Binding("Checked", dtsUserFavorite, "ufMsgIsMsn");
//4、綁定控件(CheckBox)
chkMsnLike.DataBindings.Add(bdMsgIsMsn);
}
catch (Exception ex)
{
throw ex;
}
}
保存控件值變更的資料過程:
1、結束編輯
2、得到變更
3、保存資料
示例代碼:
//1、結束編輯
dtsUserFavorite.EndEdit();
//2、得到變更
DataTable dtbMsgUserFavoriteChange= dtbUserFavorite.GetChanges();
//3、保存變更
BoUserFavorite.boUserFavorite.UpdateDataTable(dtbMsgUserFavoriteChange, this.Tag.ToString(), ClbFrontInfo.clsFrontInfo.UserKey);
dtsUserFavorite.EndEdit();
//2、得到變更
DataTable dtbMsgUserFavoriteChange= dtbUserFavorite.GetChanges();
//3、保存變更
BoUserFavorite.boUserFavorite.UpdateDataTable(dtbMsgUserFavoriteChange, this.Tag.ToString(), ClbFrontInfo.clsFrontInfo.UserKey);
撤消未保存資料:
示例代碼:
dtsUserFavorite.CancelEdit();