Возврат нескольких значений из выделенной строки - PullRequest
0 голосов
/ 08 февраля 2012

Мне нужно вернуть несколько ячеек из выделенной строки в сетке данных, и у меня возникли некоторые трудности.

Когда выбор меняется, я беру выбранное значение:

private void dg_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
value = dg.SelectedValue.To_String();
....
}

А в XAML он привязан к выбранному пути значения

<DataGrid SelectedValuePath=somevalue ...

Как бы я сделал это для нескольких элементов в строке. Возвращаемое somevalue является уникальной ячейкой в ​​строке.

1 Ответ

1 голос
/ 08 февраля 2012

С здесь :

private void selectedRowsButton_Click(object sender, System.EventArgs e)
{
    Int32 selectedRowCount =
        dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
    if (selectedRowCount > 0)
    {
        System.Text.StringBuilder sb = new System.Text.StringBuilder();

        for (int i = 0; i < selectedRowCount; i++)
        {
            sb.Append("Row: ");
            sb.Append(dataGridView1.SelectedRows[i].Index.ToString());
            sb.Append(Environment.NewLine);
        }

        sb.Append("Total: " + selectedRowCount.ToString());
        MessageBox.Show(sb.ToString(), "Selected Rows");
    }
}

В основном это сводится к получению выбранной строки, а не выбранного значения.

Я бы также предложил использовать sender вместо dg, так как это будет более свободно связано таким образом. то есть приведите sender к типу dg и затем используйте результат приведения вместо dg.

...