C# 如何在单击按钮时检查是否选中datagrid上的复选框
这是添加到datagrid第一行的datagrid和复选框项的Xaml代码。 我需要一种在选中复选框时识别datagrid的选定行的方法 XAMLC# 如何在单击按钮时检查是否选中datagrid上的复选框,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,这是添加到datagrid第一行的datagrid和复选框项的Xaml代码。 我需要一种在选中复选框时识别datagrid的选定行的方法 XAML <DataGrid ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" AutoGenerateColumns="True" Name="MedicationDatagrid" Width="{Bind
<DataGrid ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" AutoGenerateColumns="True" Name="MedicationDatagrid" Width="{Binding GroupBox}" Background="White" Height="200" >
<DataGrid.Columns>
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Name="chkCheckinMedication" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
解决这个问题的一个糟糕的方法是在复选框周围使用一个隐藏字段,您可以在其中放置所选内容的id。。。在代码隐藏中,您可以看到该行的值…按钮\u单击事件的含义是什么。。??单击复选框时。单击事件旨在根据为该行选择的复选框存储数据。为什么要将宽度绑定到GroupBox?
private void Button_Click(object sender, RoutedEventArgs e)
{
checkinCheckBox();
}
private void checkinCheckBox()
{
// find datarow and store data into database
}
protected void Button_Click(object sender, EventArgs e)
{
foreach (GridViewRow itemrow in GridView1.Rows)
{
CheckBox cbview = (CheckBox)(itemrow.Cells[0].FindControl("viewdata"));
if (cbview.Checked)
{
string value = GetObjectType(itemrow.Cells[2].Controls[1]);
Response.Write(value);
}
}
private String GetObjectType(Control ctrl)
{
switch (ctrl.GetType().Name)
{
case "Label":
return ((Label)ctrl).Text;
case "TextBox":
return ((TextBox)ctrl).Text;
}
return "";
}