Как вы кормите winform после нажатия на строку datagridview формы поиска?

У меня есть winform, который отвечает за поиск по некоторым условиям, которые вводят пользователи, а затем выбирает записи из базы данных. Форма поиска имеет представление сетки данных, которое показывает результат. После поиска пользователь щелкает строку представления данных, а затем отображается другая форма (например, frmShowDetails).

Мой вопрос: при отображении frmShowDetails, каковы ваши предложения по отправке идентификатора выбранной строки в frmShowDetails, чтобы передать его для отображения данных в .net? Используете ли вы свойство формы или частную переменную, которая устанавливается только конструктором формы?


person odiseh    schedule 12.01.2011    source источник


Ответы (3)


Отправив идентификатор DataRow в качестве параметра, вам нужно будет сделать еще один вызов в БД, чтобы получить подробности. Вместо этого создайте тип, содержащий данные, которые будут отображаться в форме ShowDetailsForm. И перед отображением формы заполните тип данными и передайте их в ctor ShowDetailsForm.

ProductDetails productDetails = new ProductDetails { Name = "ProductA" };
ShowDetailsForm showDetailsForm = new ShowDetailsForm(productDetails);
showDetailsForm.ShowDialog(this);
person Vijay Sirigiri    schedule 12.01.2011

Передайте параметр в конструкторе в frmShowDetails.

person Nickolodeon    schedule 12.01.2011

Я обычно использую свойства формы. Есть ощущение, что передавать данные через ctor не очень удачное решение, но могу ошибаться.

person 26071986    schedule 12.01.2011