关于datagridview和datatable绑定的有关问题
关于datagridview和datatable绑定的问题
情况是这样的,我现在datagridview在代码添加了10列,我又生成了一个只有8列的datatable,然后把datatable的8列绑定在datagridview的前8列,但是绑定好以后datagridview列的顺序发生变化了,最后没有绑定的2列跑到前面去了,而且我再次触发绑定事件,datagridview里的值还能移动。
所以我在datatable里又添加了2列,再次绑定,这次就变好了。
求解
------解决方案--------------------
找到 dgv 的 DataBindingComplete 事件
情况是这样的,我现在datagridview在代码添加了10列,我又生成了一个只有8列的datatable,然后把datatable的8列绑定在datagridview的前8列,但是绑定好以后datagridview列的顺序发生变化了,最后没有绑定的2列跑到前面去了,而且我再次触发绑定事件,datagridview里的值还能移动。
所以我在datatable里又添加了2列,再次绑定,这次就变好了。
求解
------解决方案--------------------
找到 dgv 的 DataBindingComplete 事件
/// <summary>
/// dgvCost_FeeInfo_Income数据绑定时固定列的位置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dgvCost_FeeInfo_Income_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
dgvCost_FeeInfo_Income.Columns["dgvchk_R"].DisplayIndex = 0;
dgvCost_FeeInfo_Income.Columns["dgvtxtCostName_R"].DisplayIndex = 1;
dgvCost_FeeInfo_Income.Columns["dgvtxtChargeCode_R"].DisplayIndex = 2;
dgvCost_FeeInfo_Income.Columns["dgvtxtShouldMoney_R"].DisplayIndex = 3;
dgvCost_FeeInfo_Income.Columns["dgvcboCustomsRate_R"].DisplayIndex = 4;
dgvCost_FeeInfo_Income.Columns["dgvtxtCustomsMoney_R"].DisplayIndex = 5;
dgvCost_FeeInfo_Income.Columns["dgvtxtRealMoney_R"].DisplayIndex = 6;
dgvCost_FeeInfo_Income.Columns["dgvtxtCurrency_Id_R"].DisplayIndex = 7;
dgvCost_FeeInfo_Income.Columns["dgvtxtCurrency_Name_R"].DisplayIndex = 8;
dgvCost_FeeInfo_Income.Columns["dgvtxtCurrency_Rate_R"].DisplayIndex = 9;
dgvCost_FeeInfo_Income.Columns["dgvtxtPaymode_R"].DisplayIndex = 10;
dgvCost_FeeInfo_Income.Columns["dgvtxtCheckNumber_R"].DisplayIndex = 11;
dgvCost_FeeInfo_Income.Columns["dgvtxtCode_R"].DisplayIndex = 12;
dgvCost_FeeInfo_Income.Columns["dgvtxtPayee_R"].DisplayIndex = 13;
dgvCost_FeeInfo_Income.Columns["dgvtxtInputMan_R"].DisplayIndex = 14;
dgvCost_FeeInfo_Income.Columns["dgvtxtInputDate_R"].DisplayIndex = 15;
dgvCost_FeeInfo_Income.Columns["dgvtxtInputDepartment_R"].DisplayIndex = 16;
dgvCost_FeeInfo_Income.Columns["dgvtxtCheckCostMan_R"].DisplayIndex = 17;
dgvCost_FeeInfo_Income.Columns["dgvtxtCheckCostDate_R"].DisplayIndex = 18;
dgvCost_FeeInfo_Income.Columns["dgvtxtCheckCostDepartment_R"].DisplayIndex = 19;
dgvCost_FeeInfo_Income.Columns["dgvtxtFlag_CheckCost_R"].DisplayIndex = 20;
dgvCost_FeeInfo_Income.Columns["dgvtxtManagerCheckCostMan_R"].DisplayIndex = 21;
dgvCost_FeeInfo_Income.Columns["dgvtxtManagerCheckCostDate_R"].DisplayIndex = 22;
dgvCost_FeeInfo_Income.Columns["dgvtxtManagerCheckCostDepartment_R"].DisplayIndex = 23;
dgvCost_FeeInfo_Income.Columns["dgvtxtFlag_ManagerCheckCost_R"].DisplayIndex = 24;
dgvCost_FeeInfo_Income.Columns["dgvtxtClosingCostMan_R"].DisplayIndex = 25;
dgvCost_FeeInfo_Income.Columns["dgvtxtClosingCostDate_R"].DisplayIndex = 26;
dgvCost_FeeInfo_Income.Columns["dgvtxtFlag_ClosingCost_R"].DisplayIndex = 27;