2017-01-09 159 views
0

我正在使用gridcontroldevexpres。我想從gridcontrol填充一個對象,如textedit,datepicker,checkbox等,因爲我必須製作一個函數,如DGSearch_CellClick;但在獲取該值時出現問題,無法將其設置爲像textedit,datepicker,checkbox這樣的對象。getrowcellvalue獲取值但不填充使用對象的文本框

下面是我的代碼:

public void DGSearch_CellClick(GridView GView, object[] ConMast, int CurrRow) 
{ 
    try 
    { 
     for (int i = 0; i <= ConMast.Length - 1; i++) 
     { 
      ConMast[i] = GView.GetRowCellValue(CurrRow, GView.Columns[i]).ToString(); 
     } 
    } 
    catch (Exception) { } 
}  

public void Search(int k) 
{ 
    try 
    { 
     // vbcls.DGSearch_CellClick(GViewSearch, new Control[] { TxtMstID, DtDate, TxtJno, DtSite, TxtPartyCode, TxtCompanyCode, TxtTypeCode, TxtArticalCode, TxtJanCharniCode, TxtProcessCode, TxtRgPer, TxtPoPer, TxtManufacturerSize, TxtLsWt, TxtMainCutno, TxtCutNo, TxtRemarks, ChkAutoCut, ChkAutoKno }, k); 

     vbcls.DGSearch_CellClick(GViewSearch, new object[] { TxtMstID.Text, DtDate.EditValue, TxtJno.Text, DtSite.EditValue, TxtPartyCode.Text, TxtCompanyCode.Text, TxtTypeCode.Text, TxtArticalCode.Text, TxtJanCharniCode.Text, TxtProcessCode.Text, TxtRgPer.Text, TxtPoPer.Text, TxtManufacturerSize.Text, TxtLsWt.Text, TxtMainCutno.Text, TxtCutNo.Text, TxtRemarks.Text, ChkAutoCut.Checked, ChkAutoKno.Checked }, k); 
     FillData(); 
     GCSearch.Visible = false; 
     BtnEdit.Focus(); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
} 
+0

沒有任何調查,我不知道你是否不應該通過引用傳遞ConMast,如'public void DGSearch_CellClick(GridView GView,ref object [] ConMast,int CurrRow)'? – menssana

回答

0

雖然你當然可以在網格中直接編輯值,我覺得最好的辦法是讓你的網格數據綁定到一個DataTable,如果你要的,但最好是對象的集合。

添加一個BindingSource組件會給你一個更多的工具,我建議使用它。例如,如果將集合綁定到綁定源並將綁定源綁定到網格,則對網格中關注行的任何更改將自動更新bindSource.Current

下面是可能的樣子:

gridDgSearch.DataSource = bindDgSearch; 

List<DgSearch> dgSearchList = DgSearchCrud.GetAll(); 
bindDgSearch = dgSearchList; 

現在,而不是試圖尋找項目在網格中,只需通過您的收藏迭代。不是更新網格中的項目,而是更新集合中的項目並刷新網格。

此外,e.RowHandle在許多電網事件將顯示該行中的問題,這意味着這樣的:

(DgSearch)gridDgSearchView.GetRow(e.RowHandle); 

會給你該行的整個對象(如果該事件ARG尚不)。

如果您可以更詳細地說明網格的內容來自哪裏,您想要如何處理它等,這可能有助於縮小如何用這種方法處理它。