Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# getrowcellvalue使用对象获取值,但不填充文本框_C#_Devexpress - Fatal编程技术网

C# getrowcellvalue使用对象获取值,但不填充文本框

C# getrowcellvalue使用对象获取值,但不填充文本框,c#,devexpress,C#,Devexpress,我正在使用devexpres的gridcontrol。我想从gridcontrol中填充一个对象,如textedit,datepicker,checkbox等,为此我必须创建一个类似DGSearch\u CellClick的函数;但是当我获取值时出现了一个问题,无法在诸如文本编辑,日期选择器,复选框之类的对象中设置它 下面是我的代码: public void DGSearch_CellClick(GridView GView, object[] ConMast, int CurrRow) {

我正在使用
devexpres
gridcontrol
。我想从
gridcontrol
中填充一个对象,如
textedit
datepicker
checkbox
等,为此我必须创建一个类似
DGSearch\u CellClick
的函数;但是当我获取值时出现了一个问题,无法在诸如
文本编辑
日期选择器
复选框
之类的对象中设置它

下面是我的代码:

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);
    }
}
public void DGSearch_CellClick(GridView GView,对象[]ConMast,int CurrRow)
{
尝试
{

对于(int i=0;i虽然您当然可以直接在网格内编辑值,但我认为最好是将网格数据绑定到DataTable(如果必须),但最好是对象集合

添加
BindingSource
组件将为您提供更多的工具,我建议您使用它。例如,如果您将集合绑定到绑定源,并将绑定源绑定到网格,则网格中对焦点行的任何更改都将自动更新
bindSource.Current

下面是可能的情况:

gridDgSearch.DataSource = bindDgSearch;

List<DgSearch> dgSearchList = DgSearchCrud.GetAll();
bindDgSearch = dgSearchList;
将为您提供该行的整个对象(如果事件arg尚未提供)


如果你能详细说明网格内容的来源、你想用它做什么等,这可能有助于缩小你用这种方法处理它的范围。

在没有任何调查的情况下,我想知道你是否不应该像
public void DGSearch_CellClick(GridView GView,ref object[]中那样通过引用传递ConMastConMast,int CURROW)
(DgSearch)gridDgSearchView.GetRow(e.RowHandle);