Winforms 我已经创建了一个网格,其中每一行都有审批请求按钮。单击按钮时,该行的单元格值必须更改

Winforms 我已经创建了一个网格,其中每一行都有审批请求按钮。单击按钮时,该行的单元格值必须更改,winforms,devexpress,Winforms,Devexpress,使用Dev-Express,Winform平台。 在这里,只有单击按钮,UO\u APR\u列的状态才能从R更改为A。但按钮不会触发事件。请帮忙 public frmUnitOff() { InitializeComponent(); BindingList<OM_UNIT_OFFER> result = new BindingList<OM_UNIT_OFFER>((from u in Program.projec

使用Dev-Express,Winform平台。 在这里,只有单击按钮,UO\u APR\u列的状态才能从R更改为A。但按钮不会触发事件。请帮忙

 public frmUnitOff()
    {
        InitializeComponent();
     

        BindingList<OM_UNIT_OFFER> result = new BindingList<OM_UNIT_OFFER>((from u in Program.projectModel.OM_UNIT_OFFERS orderby u.UO_SYS_ID where u.UO_APR_STS == "R" select u).ToList());
        this.gridControl1.DataSource = result;

      

    }

private void btn_Approve_ButtonClick(object senderDevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
    {
     //Write code for grid cell value update on button click.  
    }    

 
public frmUnitOff()
{
初始化组件();
BindingList结果=新的BindingList((从Program.projectModel.OM_UNIT_中的u提供orderby u.UO_SYS_ID,其中u.UO_APR_STS==“R”选择u)。ToList());
this.gridControl1.DataSource=结果;
}
私有无效btn\u批准\u按钮单击(对象SenderDevXPress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
//在单击按钮时为网格单元值更新编写代码。
}    

到目前为止,我已经在按钮单击事件处理程序中编写了,但它没有保存到db中

私有无效btn\u批准\u按钮单击(对象SenderDevXPress.XtraEditors.Controls.ButtonPressedEventArgs e)

{

gridView1.SetRowCellValue(gridView1.FocusedRowHandle,gridView1.Columns[“UO_APR_STS”],“A”);
var a=gridView1.GetFocusedRowCellValue(“UO_系统ID”);
double ab=double.Parse(a.ToString());
BindingList结果=新的BindingList((来自Program.projectModel.OM\u单元中的u)
订购人u.UO\u系统\u ID
其中u.UO\u SYS\u ID==ab
选择u.UO_SYS_ID));
if(gridView1.PostEditor())
{
OM_单位报价_unif=新OM_单位报价();
_unif.UO_APR_STS=“A”;
}
gridView1.ShowEditor();

}现在工作正常。我正在分享我获得输出的代码,可能对某人有所帮助。谢谢@brendon的关注

private void btn_Approve_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
    
    {
      
          
        gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["UO_APR_STS"], "A");

        var a=  gridView1.GetFocusedRowCellValue("UO_SYS_ID");
        double ab = double.Parse(a.ToString());

        BindingList<OM_UNIT_OFFER> result = new BindingList<OM_UNIT_OFFER>((from u in Program.projectModel.OM_UNIT_OFFERS
                                                                            orderby u.UO_SYS_ID
                                                                            where u.UO_SYS_ID == ab
                                                                            select u).ToList());
        

        if (gridView1.PostEditor())
        {

        OM_UNIT_OFFER _unif = new OM_UNIT_OFFER();
        _unif.UO_APR_STS = "A";
        gridView1.FocusedColumn = gridView1.Columns["_unif.UO_APR_STS"];
        gridView1.UpdateCurrentRow();

        }
        
        gridView1.ShowEditor();
      
    }         




private void gridView1_RowUpdated(object sender, RowObjectEventArgs e)
    {            
     Program.projectModel.SaveChangesAsync();
    }
private void btn\u Approve\u按钮单击(对象发送者,DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
gridView1.SetRowCellValue(gridView1.FocusedRowHandle,gridView1.Columns[“UO_APR_STS”],“A”);
var a=gridView1.GetFocusedRowCellValue(“UO_系统ID”);
double ab=double.Parse(a.ToString());
BindingList结果=新的BindingList((来自Program.projectModel.OM\u单元中的u)
订购人u.UO\u系统\u ID
其中u.UO\u SYS\u ID==ab
选择u.ToList());
if(gridView1.PostEditor())
{
OM_单位报价_unif=新OM_单位报价();
_unif.UO_APR_STS=“A”;
gridView1.FocusedColumn=gridView1.Columns[“\u unif.UO\u APR\u STS”];
gridView1.UpdateCurrentRow();
}
gridView1.ShowEditor();
}         
私有void gridView1_rowUpdate(对象发送方,RowObjectEventArgs e)
{            
Program.projectModel.SaveChangesAsync();
}

按钮是包含在网格中还是单独的?您是否为按钮设置了代理?如果在ButtonClick事件处理程序中放置断点,它是否曾被命中?按钮位于网格内。单击按钮单击事件处理程序时为“是”。它正在工作。但同时不会更改行单元格值。谢谢。按钮单击事件处理程序内发生了什么?您需要发布该代码。需要执行的操作是在按钮单击时,UO_APR_STS的行单元格值必须从“R”更改为“A”。到目前为止,我在按钮单击事件处理程序中编写的是
private void btn_Approve_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
    
    {
      
          
        gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["UO_APR_STS"], "A");

        var a=  gridView1.GetFocusedRowCellValue("UO_SYS_ID");
        double ab = double.Parse(a.ToString());

        BindingList<OM_UNIT_OFFER> result = new BindingList<OM_UNIT_OFFER>((from u in Program.projectModel.OM_UNIT_OFFERS
                                                                            orderby u.UO_SYS_ID
                                                                            where u.UO_SYS_ID == ab
                                                                            select u).ToList());
        

        if (gridView1.PostEditor())
        {

        OM_UNIT_OFFER _unif = new OM_UNIT_OFFER();
        _unif.UO_APR_STS = "A";
        gridView1.FocusedColumn = gridView1.Columns["_unif.UO_APR_STS"];
        gridView1.UpdateCurrentRow();

        }
        
        gridView1.ShowEditor();
      
    }         




private void gridView1_RowUpdated(object sender, RowObjectEventArgs e)
    {            
     Program.projectModel.SaveChangesAsync();
    }