Я прочитал много тем по этой проблеме, но я не нахожу ответа. Я довольно новичок в этом, поэтому, пожалуйста, несите меня.Доступ к данным в datagridview из класса
Я пытаюсь передать значения из datagridview в список. И затем в новом классе я хочу заставить som методы получить доступ к этому списку. Проблема в том, что когда я передаю datagridview, он возвращает его без содержимого и значений, что означает, что я ничего не могу с этим поделать.
Код в разделе //// ТЕСТИРОВАНИЕ //// работает, как я хочу. Я создаю экземпляр указанного списка и правильно подсчитываю количество строк, см. Скриншот.
public List<vertEl> getVertList = new List<vertEl>();
//Opens the file dialog and assigns file path to Textbox
OpenFileDialog browseButton = new OpenFileDialog();
private void browse_Click(object sender, EventArgs e)
{
browseButton.Filter = "Excel Files |*.xlsx;*.xls;*.xlsm;*.csv";
if (browseButton.ShowDialog() == DialogResult.OK)
{
//SOME CODE TO GET DATA FROM EXCEL AND SOME METHODS TO CALCULATE
//VALUES TO PASS TO THE TAB VERTIKALELEMENTER TAB IN MY DATAGRIDVIEW
//VERTIKALELEMENTER IS vertElementerDgv IN MY CODE
////TESTING////
GetVertElementasList TEST = new GetVertElementasList();
getVertList = TEST.vertList(vertElementerDgv);
MessageBox.Show(getVertList.Count.ToString());
}
else return;
}
теперь я хочу сделать это в отдельном классе и вызвать метод из этого класса, чтобы сделать то же самое, но когда я пытаюсь что с кодом под я не получаю один и тот же счет, что, когда у меня есть код в form1 (публичный частичный класс BridgeGeometry). Он возвращает значение 0. Метод foo() присваивается кнопке 1 в форме.
class GetKoord
{
public GetVertElementasList getList = new GetVertElementasList();
BridgGeometry obj = new BridgGeometry();
public void foo()
{
var TEST = getList.vertList(obj.vertElementerDgv);
//var TEST = obj.getVertList;
MessageBox.Show(TEST.Count.ToString());
}
}
Я также пытался получить значения непосредственно из DataGridView, но нет ничего в нем, когда я к нему доступ из класса, который не является классом form1/BridgeGeometry.
Пожалуйста, объясните, с помощью этого кода хау это помогает мне получить доступ к моему datagridview из внешнего класса? Проблема заключается не в хранении значений - это доступ к нему в другом классе. – Grohl
Просто теория, но если вы можете вытащить свою информацию из вида сетки данных и сохранить ее как общедоступную переменную, вы должны иметь к ней доступ (я предполагаю, что с помощью геттера и сеттера). Я бы скорее просто прокомментировал и провел мозговой штурм, но мне нужно 50 rep для комментариев lol – Mokey
Или, возможно, сохранить информацию в XML. Проверьте это, возможно, ваш мозг будет тикать. http://stackoverflow.com/questions/26040165/how-i-can-save-a-datagridview-in-a-xml-and-load-a-xml-to-datagridview – Mokey