[英]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.