原始碼:
Function_A 初始化ComboBox內容選擇值
DataTable dt=new DataTable("ExchangeRateType");
dt.Columns.Add("en", typeof(Int16));
dt.Columns.Add("zh", typeof(string));
dt.Rows.Add("0", "×(乘)");
dt.Rows.Add("1", "÷(除)");
cbo_ExchangeRateType.DisplayMember = "zh";
cbo_ExchangeRateType.ValueMember = "en";
cbo_ExchangeRateType.DataSource = dt;
cbo_ExchangeRateUSDType.DisplayMember = "zh";
cbo_ExchangeRateUSDType.ValueMember = "en";
cbo_ExchangeRateUSDType.DataSource = dt.DefaultView ;
Function_B 從資料庫撈資料
dt = GetDataSet(OriginFindQry).Tables[0].Copy();
dt.TableName = _TblName;
if (ds.Tables.Contains(_TblName))
{
ds.Tables[_TblName].Dispose();
ds.Tables.Remove(_TblName);
}
ds.Tables.Add(dt);
Function_C 為每個控制項DataBinding
foreach (Control item in this.tableLayoutPanel1.Controls)
{
item.DataBindings.Clear();
}
txt_CustomerOrderNo.DataBindings.Clear();
txt_ExchangeRate.DataBindings.Clear();
txt_ExchangeRateUSD.DataBindings.Clear();
cbo_ExchangeRateType.DataBindings.Clear();
cbo_ExchangeRateUSDType.DataBindings.Clear();
bs_tblT訂單統計資料表.DataMember = null;
bs_tblT訂單統計資料表.DataSource = null;
bs_tblT訂單統計資料表.Clear();
bs_tblT訂單統計資料表.DataMember = _TblName;
bs_tblT訂單統計資料表.DataSource = ds;
this.bindingNavigator1.BindingSource = bs_tblT訂單統計資料表;
dataGridView1.DataSource = bs_tblT訂單統計資料表;
cbo_ExchangeRateType.DataBindings.Add("SelectedValue", bs_tblT訂單統計資料表, "ExchangeRateType");
cbo_ExchangeRateUSDType.DataBindings.Add("SelectedValue", bs_tblT訂單統計資料表, "ExchangeRateUSDType");
問題: 紫色底為錯誤發生點
(1)錯誤訊息:
bs_tblT訂單統計資料表.DataMember = null;
bs_tblT訂單統計資料表.DataSource = null;
bs_tblT訂單統計資料表.Clear();
========
(2)錯誤訊息:
//bs_tblT訂單統計資料表.DataMember = null;
bs_tblT訂單統計資料表.DataSource = null;
bs_tblT訂單統計資料表.Clear();
========
(3)錯誤訊息: 無法清除這個清單
//bs_tblT訂單統計資料表.DataMember = null;
//bs_tblT訂單統計資料表.DataSource = null;
bs_tblT訂單統計資料表.Clear();
原因:
解決:
cbo_ExchangeRateType.DataBindings.Clear();
參考:
[除錯] 無法繫結至 DataSource 上的屬性或欄位 或 無法清除這個清單
疑難排解例外狀況:System.InvalidCastException
InvalidCastException 類別
关于模板控件如何实现多数据源绑定的问题
2013年12月24日 星期二
[除錯] 無法繫結至 DataSource 上的屬性或欄位 或 無法清除這個清單
原因:
Error:無法繫結至 DataSource 上的屬性或欄位
bs_tblT內外銷統計附檔.DataMember = null;
bs_tblT內外銷統計附檔.DataSource = null;
Error:無法清除這個清單
bs_tblT內外銷統計附檔.Clear();
解決:
用bindingsource isbindingsuspended
foreach (Control item in this.tableLayoutPanel1.Controls)
{
item.DataBindings.Clear();
}
lbl_檔案名稱.DataBindings.Clear();
//忘記把這個ctl給DataBindings.Clear()...
//因為此ctl是屬於flowLayoutPanel2
//而flowLayoutPanel2是屬於tableLayoutPanel1
//所以此ctl我需要另外將其DataBindings.Clear()
//而不是寫在foreach裡面...那邊只會找到flowLayoutPanel2
參考:
我的表單本來可以開啟的,因為我把access資料庫裡的欄位user改成user_1
[除錯] System.InvalidCastException: System.Data.DataViewManagerListItemTypeDescriptor
如何在dataTable更新完成後,才讓綁定的dataGridView 做更新?
Error:無法繫結至 DataSource 上的屬性或欄位
bs_tblT內外銷統計附檔.DataMember = null;
bs_tblT內外銷統計附檔.DataSource = null;
Error:無法清除這個清單
bs_tblT內外銷統計附檔.Clear();
解決:
用bindingsource isbindingsuspended
foreach (Control item in this.tableLayoutPanel1.Controls)
{
item.DataBindings.Clear();
}
lbl_檔案名稱.DataBindings.Clear();
//忘記把這個ctl給DataBindings.Clear()...
//因為此ctl是屬於flowLayoutPanel2
//而flowLayoutPanel2是屬於tableLayoutPanel1
//所以此ctl我需要另外將其DataBindings.Clear()
//而不是寫在foreach裡面...那邊只會找到flowLayoutPanel2
參考:
我的表單本來可以開啟的,因為我把access資料庫裡的欄位user改成user_1
[除錯] System.InvalidCastException: System.Data.DataViewManagerListItemTypeDescriptor
如何在dataTable更新完成後,才讓綁定的dataGridView 做更新?
訂閱:
文章 (Atom)