Краткое интроХотите добавить некоторые элементы из списка в DataSource
Программа работает тест на машинах. Затем появляется диалоговое окно с запросом пользователя, правильно ли работали все машины. Если они скажут, что в окне dataGridView не появится другое окно с вопросом, с какими машинами провалился метод checkBox. Затем он устанавливает статус в состояние ОШИБКИ, чтобы программа продолжала работать, игнорируя машины с ошибками.
У меня есть этот класс с двумя свойствами
public class ASM
{
public byte DeviceID
public ASMStatus Status
}
я ставлю это в списке
list<ASM001.ASM> ASMs = new list();
Теперь я хочу, чтобы добавить этот список BindingSource в моей DataGridView, но только те, чей статус equals ASMStatus.IDLE
Я думал о том, что просто создаю те, которые простаивают в другом списке и прикрепляют их к списку привязки, однако dataGridView al поэтому имеет столбец CheckBox, который определяет, должен ли быть изменен на ASMStatus.ERROR
public partial class FailedMessageBox : Form
{
public FailedMessageBox()
{
InitializeComponent();
DataGridViewCheckBoxColumn col1 = new DataGridViewCheckBoxColumn();
col1.HeaderText = "Device Failed";
dataGridView1.Columns.Add(col1);
}
private void FailedMessageBox_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = Global.ASMs;
}
}
Я хочу, чтобы убедиться, что, когда пользователь нажимает кнопку OK текущий ПКР в списке приготовьтесь к ошибкам, поэтому я думал, что статус bindlist будет работать наилучшим образом
Мне интересно, был ли быстрый способ сделать это, или мне просто нужно сделать кучу циклов.
Простой 'dataGridView1.DataSource = Global.ASMs.Where (a => a.Status == ASMStatus.IDLE);' трюк? –
Это не сработало. Я пробовал его с помощью Global.ASMs.Select (a => a.Status == ASMStatus.IDLE) также –