Предисловие
Не уверен, что это имеет значение, но я объясню, как устроен мой проект. Он имеет три слоя:
родной C++: Цель состоит в том, чтобы прочитать несколько файлов и выполнить вычисления. Выходные данные — двойники и векторы.
C++/CLI Wrapper: уровень связи между моей родной программой на C++ и графическим интерфейсом C#. Он также преобразует мои родные векторы C++ в общие списки.
C#: этот уровень используется для разработки графического интерфейса и, в основном, просто для представления результатов в виде диаграмм и таблиц.
Моя цель
Моя цель - заполнить DataGridView
моими параметрами из class Evaluation
в виде столбца и значениями каждого проанализированного файла в виде строки.
Что я сделал до сих пор:
Создал
class Evaluation
с каждым параметром в качестве свойстваpublic ref class Evaluation { /.../ constructor exists System::Collections::Generic::List<double> ^GetTAFValues(); System::Collections::Generic::List<double> ^GetTAFTemps(); property double parameterA { double get() { return getParameterA(); } } property double parameterB { double get() { return getParameterB(); } } /.../ }
Для каждого проанализированного файла (используя цикл foreach) я бы создал новый объект
Evaluation
и добавил этот объект в список с именемresults
типаList<Evaluation>
.После этого я бы привязал
List<Evaluation>
к DataGridView, выполнивdataGridView1.DataSource = results;
Пока это работает очень хорошо, но только для параметров A и B. Чего мне не хватает, так это моего параметра TAF.
TAF состоит из температуры и значения. Например:
List<double> TAFValues = new List<double> {1, 2, 3, 4};
List<double> TAFTemps = new List<double> {-30, -10, 25, 50,};
Что мне нужно, так это добавить столбцы с именами TAF-30, TAF-10, TAF25, TAF50 со значениями, прикрепленными из TAFValue
. Эти четыре параметра можно использовать для всех остальных файлов.
Я не могу добавить TAF в качестве свойства, потому что я не знаю, сколько шагов температуры используется во время компиляции и какое имя свойства (читай: какая температура) будет.
Вопросы/идеи:
Как добавить столбцы, содержащие строки температуры в качестве заголовка?
Могу ли я как-то объединить свой
List<Evaluation>
с моимList<double>
и использовать его как источник данных? Я знаю, что вам нужно будет составить список, но я не могу объявить какие-либо переменные класса.Могу ли я вручную вставить столбцы TAF + значения для каждой строки/файла ПОСЛЕ того, как источник данных был объявлен с
dataGridView1.DataSource = results;
?Существуют ли какие-либо другие структуры данных, которые я мог бы использовать в качестве источника данных вместо списка, которые могли бы мне помочь?
Evaluation
иметь одинаковыеTAFTemp
записи? - person Michael   schedule 19.09.2018