I suggest you to go through ASPxGridView - Hide / Show Custom Command Button / ASPxGridView.CustomButtonInitialize
You can do this as below:
protected void ASPxGridView1_CommandButtonInitialize(object sender, ASPxGridViewCommandButtonEventArgs e) {
if (e.VisibleIndex == -1) return;
switch (e.ButtonType) {
case ColumnCommandButtonType.Edit:
e.Visible = EditButtonVisibleCriteria((ASPxGridView)sender, e.VisibleIndex);
break;
case ColumnCommandButtonType.Delete:
e.Visible = DeleteButtonVisibleCriteria((ASPxGridView)sender, e.VisibleIndex);
break;
}
}
private bool DeleteButtonVisibleCriteria(ASPxGridView grid, int visibleIndex) {
object row = grid.GetRow(visibleIndex);
return ((DataRowView)row)["ProductName"].ToString().Contains("b");
}