DevExpress - 如何在数据网格视图中动态修改按钮标题 [英] DevExpress - How do I dynamically modify button caption within a datagridview

查看:30
本文介绍了DevExpress - 如何在数据网格视图中动态修改按钮标题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请帮助我解决 Devexpress 的问题.

Please help me with a problem with Devexpress.

如何动态修改 datagridview 中的按钮标题?

例如:在总销售额"列中如果值低于 100,按钮必须有标题低值",现在如果值高于 101,按钮必须显示高于值"

For example: In the column "Total Sale" if the value is below 100 the button must have the caption "Low Value", now if the value above 101 the button must show "Above Value"

说到这里,请帮帮我,谢谢

As I say this, please help me, thank you

        private void bandedGridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
    {
        if (e.Column.Caption == "bandedGridColumn1")
        {
            int val = Convert.ToInt32(bandedGridView1.GetRowCellValue(e.RowHandle, "VAGAS"));
            RepositoryItemButtonEdit ritem = new RepositoryItemButtonEdit();
            if (val == 20)
            {
                ritem.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
                ritem.Buttons[0].Caption = "Gerar Sorteio";
                ritem.Buttons[0].Visible = false;
                e.RepositoryItem = ritem;
            }

        }
    }

推荐答案

回答我的问题

  • 我创建了一个名为 ApresentaBotoesNoDataGrid() 的方法

private void ApresentaBotoesNoDataGrid(){

private void ApresentaBotoesNoDataGrid() {

        RepositoryItemButtonEdit riBtnEditMatricular = new RepositoryItemButtonEdit();
        riBtnEditMatricular.Name = "riBtnEditMatricular";
        riBtnEditMatricular.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph;
        riBtnEditMatricular.Buttons[0].Caption = "Matricular";
        riBtnEditMatricular.ButtonsStyle = DevExpress.XtraEditors.Controls.BorderStyles.Office2003;
        riBtnEditMatricular.Buttons[0].Appearance.BackColor = Color.LimeGreen;
        riBtnEditMatricular.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
        riBtnEditMatricular.ButtonClick += AcaoBotaoDataGrid_ButtonClick;

        RepositoryItemButtonEdit riBtnEditSortear = new RepositoryItemButtonEdit();
        riBtnEditSortear.Name = "riBtnEditSortear";
        riBtnEditSortear.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph;
        riBtnEditSortear.Buttons[0].Caption = "Sortear";
        riBtnEditSortear.ButtonsStyle = DevExpress.XtraEditors.Controls.BorderStyles.Office2003;
        riBtnEditSortear.Buttons[0].Appearance.BackColor = Color.FromArgb(255, 240, 208);
        riBtnEditSortear.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
        riBtnEditSortear.ButtonClick += AcaoBotaoDataGrid_ButtonClick;
    
        dtgQuadroSorteio.RepositoryItems.Add(riBtnEditMatricular);
        dtgQuadroSorteio.RepositoryItems.Add(riBtnEditSortear);
        bandedGridView1.CustomRowCellEdit += bandedGridView1_CustomRowCellEdit;
        bandedGridView1.RowCellStyle += bandedGridView1_RowCellStyle;

    }

  • 名为 AcaoBotaoDataGrid_ButtonClick 的其他方法
  • void AcaoBotaoDataGrid_ButtonClick(object sender, ButtonPressedEventArgs e){var value = bandedGridView1.GetFocusedRowCellValue("CODELETIVA");

    void AcaoBotaoDataGrid_ButtonClick(object sender, ButtonPressedEventArgs e) { var value = bandedGridView1.GetFocusedRowCellValue("CODELETIVA");

            ButtonEdit buttonEdit = (ButtonEdit)sender;
            if (buttonEdit.Properties.Name == "riBtnEditMatricular" && e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph)
            {
                XtraMessageBox.Show("Receive Button Clicked on row handle " + value.ToString());
            }
            else if (buttonEdit.Properties.Name == "riBtnEditSortear" && e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph)
            {
                XtraMessageBox.Show("Pay Now Button Clicked on row handle " + value.ToString());
            }
    
        }
    

    • 活动

      • Event

          private void bandedGridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
          {
              if (e.Column.FieldName != "Button") return;
              BandedGridView view = (BandedGridView)sender;
              string type = (string)view.GetRowCellValue(e.RowHandle, "TEMPERATURA");
              if (type == "Grande Procura")
                  e.RepositoryItem = dtgQuadroSorteio.RepositoryItems["riBtnEditSortear"]; 
              else
                  e.RepositoryItem = dtgQuadroSorteio.RepositoryItems["riBtnEditMatricular"];
          }
        

      • 这篇关于DevExpress - 如何在数据网格视图中动态修改按钮标题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆