Мне нужно создать матрицу типа datagrid типа bool с использованием 2D-массива. У меня есть набор логических строк, которые необходимо оценивать для каждой ячейки в сетке данных следующим образом.
для например
ячейка [0,0] = ((сервер1 || сервер 2) && сервер 3)
ячейка [0,1] = ((сервер1 && сервер 3) && сервер 4)
ячейка [1,0] = ((сервер3 && сервер 2) || сервер 4)
значения для сервера N работают или остановлены, и они получены из базы данных.
как создать сетку данных 2D-матрицы и как оценить логическую строку, чтобы конечный результат был ИСТИНА или ЛОЖЬ для каждой ячейки сетки данных.
Я просмотрел эту ссылку 2D-массив для строки и взял это в качестве примера, но я не знаю, где я должен вызывать эти строки оценки. Должен ли я хранить их в файле XML, а затем вызывать их или есть ли другой способ их вызвать.
Что я пробовал:
public MatrixPage()
{
InitializeComponent();
bool[,] matrixcell = new bool[10, 22];
matrixcell[0, 0] = // should I place the Evaluation string here;
matrixcell[0, 1] = ;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 22; j++)
{
matrixcell[i, j] = // or Should I call here the evaluation boolean string for each iteration respective to the row/column from a file like XML or a any other file ??
}
}
var datsource = (from i in Enumerable.Range(0, matrixcell.GetLength(0))
select new clsdatasource(matrixcell[i, 0], matrixcell[i, 1], matrixcell[i,3])).ToList();
this.dg1.ItemsSource = datsource;
}
public class clsdatasource
{
public bool str1 { get; set; }
public bool str2 { get; set; }
public bool str3 { get; set; }
public clsdatasource(bool s1, bool s2,bool s3)
{
this.str1 = s1;
this.str2 = s2;
this.str3 = s3;
}
}
XAML
<Grid>
<DataGrid x:Name="dg1" CanUserAddRows="False" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="System1" Binding="{Binding str1}"/>
<DataGridTextColumn Header="System2" Binding="{Binding str2}"/>
<DataGridTextColumn Header="System3" Binding="{Binding str3}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
Пожалуйста, помогите .. если вопрос не ясен для понимания, пожалуйста, прокомментируйте, я постараюсь объяснить более четко