从突出显示的行返回多个值

本文关键字:返回 显示 | 更新日期: 2023-09-27 18:23:52

我需要从数据网格中突出显示的行返回多个单元格,并且遇到了一些困难。

当选择更改时,我正在获取所选值:

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

在 XAML 中,它绑定到选定的值路径

<DataGrid SelectedValuePath=somevalue ...

我将如何为行中的多个项目执行此操作。 返回的某个值是行中的唯一单元格。

从突出显示的行返回多个值

从这里:

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