Please help me with a problem with Devexpress.
How do I dynamically modify button caption within a datagridview?
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;
}
}
}
Answer My Question
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;
}
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"];
}