PDA

View Full Version : select شدن همه چک باکس های دیتا گرید



milad_esmaeili
دوشنبه 03 مرداد 1390, 19:58 عصر
سلام دوستان من یه دیتا گرید استفاده کردم که واسه header اون توی ستون اولش چک باکس گذاشتم
این چک باکس توی همه سطرها تکرار میشه
حالا میشه کمک کنید بگید چطوری با چک کردن چک باکس header همه چک باکس ها یا بهتر بگم سطرها انتخاب بشن
؟؟؟؟؟؟؟؟؟

milad_esmaeili
سه شنبه 04 مرداد 1390, 01:22 صبح
کاش یکی بود جواب مارا میداد
:گریه::گریه::گریه:

farashah_jalal
سه شنبه 04 مرداد 1390, 08:07 صبح
با سلام
دوست عزيز يكم صبور باشيد.


<DataGrid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Name="dgMissingNames" ItemsSource="{Binding Path=TheMissingChildren}" Style="{StaticResource NameListGrid}" SelectionChanged="DataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTemplateColumn CellStyle="{StaticResource NameListCol}">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<CheckBox Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=Checked, UpdateSourceTrigger=PropertyChanged}" Name="theCheckbox"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding Path=SKU}" Header="Album" CellStyle="{StaticResource NameListCol}"/>
<DataGridTextColumn Binding="{Binding Path=Name}" Header="Name" CellStyle="{StaticResource NameListCol}"/>
<DataGridTextColumn Binding="{Binding Path=Pronunciation}" Header="Pronunciation" CellStyle="{StaticResource NameListCol}"/>
</DataGrid.Columns>
</DataGrid>



private void HeadCheck(object sender, RoutedEventArgs e, bool IsChecked)
{
foreach (CheckedMusicFile mf in TheMissingChildren)
{
mf.Checked = IsChecked;
}
dgMissingNames.Items.Refresh();
}

private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
HeadCheck(sender, e, true);
}

private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
HeadCheck(sender, e, false);
}

رضا عربلو
سه شنبه 04 مرداد 1390, 08:49 صبح
<Window x:Class="WpfApplication11.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid ItemsSource="{Binding}">
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<Grid>
<CheckBox IsChecked="{Binding Path=IsSelected, Mode=TwoWay,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}}}"/>
</Grid>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
</DataGrid>
</Grid>
</Window>


public partial class MainWindow : Window
{
private List<Person> Persons;
public MainWindow()
{
InitializeComponent();
Persons = new List<Person>(){
new Person()
{
FirstName = "A1",
LastName = "A2"
},
new Person()
{
FirstName = "B1",
LastName = "B2"
},
new Person()
{
FirstName = "C1",
LastName = "C2"
},
};
this.DataContext = Persons;
}
}


public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}