[英]DevExpress - How do I dynamically modify button caption within a datagridview
请帮助我解决 Devexpress 的问题。
例如:在“总销售额”列中,如果值低于 100,则按钮必须具有标题“低值”,现在如果值高于 101,则按钮必须显示“高于值”
当我这么说时,请帮助我,谢谢
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;
}
}
}
要使标题可见,您需要将 RepositoryItemButtonEdit 的Kind属性设置为 Glyph。
回答我的问题
私人无效 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());
}
}
事件
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"]; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.