Datagrid cell selection not populating ComboBox

Ian Mark :
 private void dtGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
    DataGrid gd = (DataGrid)sender;
    DataRowView row_selected = gd.SelectedItem as DataRowView;
    var windowToOpen = new Window1();

    windowToOpen.txt_RowRecrd.Text = row_selected["DSP_ID"].ToString();
    windowToOpen.txt_custname.Text = row_selected["CUST_NAME"].ToString();
    windowToOpen.txt_address.Text = row_selected["PREM_ADDR"].ToString();
    windowToOpen.txt_acctnumber.Text = row_selected["ACCOUNT"].ToString();
    windowToOpen.txt_analyst.Text = row_selected["ASSGNTO"].ToString();
    windowToOpen.txt_opened.Text = row_selected["OPENED"].ToString();
    windowToOpen.txt_deadline.Text = row_selected["DEADLINE"].ToString();
    windowToOpen.txt_reviewNotes.Text = row_selected["COMMENT"].ToString();
    windowToOpen.cmb_UtilityRptTyp.Text = row_selected["RPTTYPE"].ToString();
    windowToOpen.Show();
}

When the user double clicks on a row in the Datagrid, it opens a new window and populates the textboxes with the selected cells. However, it does not work for CombinationBoxes

Fred :

You must use the SelectedText instead of Text in ComboBox, like this:

windowToOpen.cmb_UtilityRptTyp.SelectedText = row_selected["RPTTYPE"].ToString();

Also, You can use SelectedIndex, to find item index you could IndexOf like this

string rptType = row_selected["RPTTYPE"].ToString();
int index = windowToOpen.cmb_UtilityRptTyp.Items.IndexOf(rptType );
windowToOpen.cmb_UtilityRptTyp.SelectedIndex = index;

Or use FindStringExact

string rptType = row_selected["RPTTYPE"].ToString();
int index = windowToOpen.cmb_UtilityRptTyp.FindStringExact(rptType );
windowToOpen.cmb_UtilityRptTyp.SelectedIndex = index;

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=379378&siteId=1