簡體   English   中英

如何在WPF Gridview中獲取檢查的行值

[英]How to get checked row values in WPF Gridview

我在WPF中用兩列創建了gridview。 一個用於DataGridTextColumn,另一個用於DataGridCheckBoxColumn。

<DataGrid AutoGenerateColumns="False" Name="dataGrid1">

 <DataGrid.Columns>
                <DataGridTextColumn Header="MyString" Binding="{Binding MyString}" />
                <DataGridCheckBoxColumn Header="MyBool" Binding="{Binding MyBool}" />
            </DataGrid.Columns>
        </DataGrid>

現在,我想獲取選中項目的文本值,

var SelectedList = new List<checkedBoxIte>();
            StringBuilder aa = new StringBuilder();
            for (int i = 0; i < dataGrid1.Items.Count; i++)
            {
                var item = dataGrid1.Items[i];
                var mycheckbox = dataGrid1.Columns[1].GetCellContent(item) as CheckBox;
                var myTextBox = dataGrid1.Columns[0].GetCellContent(item) as TextBox;
                if ((bool)mycheckbox.IsChecked)
                {
                    SelectedList.Add(item[i]);
                    //aa.Append(myTextBox.Text);
                }
            }

我怎樣才能做到這一點。

您不應該使用TextBox ,而應該使用TextBlock ,因為那是您的DataGridView實際上包含在WPF

因此,像這樣更改代碼:

var SelectedList = new List<checkedBoxIte>();
StringBuilder aa = new StringBuilder();
for (int i = 0; i < dataGrid1.Items.Count; i++)
{
    var item = dataGrid1.Items[i];
    var mycheckbox = dataGrid1.Columns[1].GetCellContent(item) as CheckBox;
    var myTextBlock = dataGrid1.Columns[0].GetCellContent(item) as TextBlock;
    if ((bool)mycheckbox.IsChecked)
    {
        SelectedList.Add(item[i]);
        aa.Append(myTextBlock.Text);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM