c# - Passing data from textbox to datagridview -


i working in visual studio running windows application.

i wondering if can fill datagridview textbox, passed value itself?

for example, user search patient dialog form. patient's name select populate textbox on main form. want selected patients prior test history populate datagridview on main form within tab.

is possible, if how accomplish this?

it possible. suggest setting sort of data binding. more want class maintains state , data binds controls , possibly dialog form. don't know how looking might going overboard suggest this:

public class mainform : form {     public mainform(statemanager statemanager)     {         _statemanager = statemanager;          //data binding text box         txtpatientname.databindings.add(nameof(txtpatientname.text), statemanager, nameof(statemanager.patientname));          //data binding grid         historygrid.datasource = statemanager.history;     }      private void btnshowform_click(object sender, eventargs e)     {         using(var form = new dialogform())         {             var result = form.showdialog();             if(result == dialogresult.ok)             {                 _statemanager.updatepatient(form.inputpatientname);             }         }     }      private statemanager _statemanager; }  //this form enter patient name public class dialogform : form {     //this holds value patient's name entered on form     public string inputpatientname { get; set; } }  //this class maintains state public class statemanager : inotifypropertychanged {     public event propertychangedeventhandler propertychanged;      public string patientname     {         { return _patientname; }         set          {             _patientname = value;             onpropertychanged(nameof(patientname));         }     }      public bindinglist<medicalhistoryitems> history => _history ?? (_history = new bindinglist<medicalhistoryitems>());      public void updatepatient(string patientname)     {         history.clear();          var historyretriever = new historyretriever();         history.addrange(historyretriever.retrievehistory(patientname));     }      private void onpropertychanged(string propertyname)     {         propertychanged?.invoke(propertyname);     }      private bindinglist<medicalhistoryitems> _history;     private string _patientname; } 

Comments