silverlight中CheckBox在DataGrid的全选取消.docx
- 文档编号:2403679
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:6
- 大小:15.82KB
silverlight中CheckBox在DataGrid的全选取消.docx
《silverlight中CheckBox在DataGrid的全选取消.docx》由会员分享,可在线阅读,更多相关《silverlight中CheckBox在DataGrid的全选取消.docx(6页珍藏版)》请在冰豆网上搜索。
silverlight中CheckBox在DataGrid的全选取消
silverlight中CheckBox在DataGrid的全选取消
在ASP.NET我们很经常用到控件DataGrid或Repeater等显示数据,时常会须要加一个控件为全选或全取消的功能,例:
Code
//DataGrid
for(inti=0;i<this.GVVideoLib.Rows.Count;i++)
{
CheckBoxcb=(CheckBox)this.GVVideoLib.Rows[i].FindControl("ckChoose");//模板中checkbox控件ID
cb.Checked=true;
//获取选中的ID
//if(cb.Checked)
//{
//Labellb=(Label)GVVideoLib.Rows[i].FindControl("lbSelect");//lbSelect隐藏控件ID用于存放ID
//vidArr+=lb.Text.Trim()+",";
//}
}
//Repeater
foreach(RepeaterItemiteminrpReview.Items)
{
CheckBoxckBox=(CheckBox)item.FindControl("ckChoose");//模板中checkbox控件ID
ckBox.Checked=true;
//获取选中的ID
//if(ckBox.Checked)
//{
//LabellbMsgId=(Label)item.FindControl("lbSelect");//lbSelect隐藏控件ID用于存放ID
//sb.Append(lbMsgId.Text.Trim()).Append("|");
//}
}
而在此silverlight2.0正式版中的DataGrid控件没有rows等属性我们如何全选与取消呢,在运用过程中做了个人小结,如果还有好方法,多多学习:
XAML为
Code
<UserControlxmlns:
data="clr-namespace:
System.Windows.Controls;assembly=System.Windows.Controls.Data"x:
Class="CheckBoxAllDataGrid.Page"
xmlns="
xmlns:
x="
Width="400"Height="300"Loaded="UserControl_Loaded">
<Gridx:
Name="LayoutRoot"Background="White">
<Grid>
<Grid.RowDefinitions>
<RowDefinitionHeight="30"/>
<RowDefinitionHeight="Auto"/>
<RowDefinitionHeight="30"/>
</Grid.RowDefinitions>
<CheckBoxx:
Name="CBAll"Grid.Row="0"Content="全选"Click="CheckBox_Click"></CheckBox>
<data:
DataGridx:
Name="ContentGrid"Grid.Row="1"AutoGenerateColumns="False">
<data:
DataGrid.Columns>
<data:
DataGridTemplateColumnHeader="选择">
<data:
DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanelOrientation="Horizontal">
<CheckBoxx:
Name="ck"Tag="{BindingID}"></CheckBox>
</StackPanel>
</DataTemplate>
</data:
DataGridTemplateColumn.CellTemplate>
</data:
DataGridTemplateColumn>
<data:
DataGridTextColumnHeader="编号"Binding="{BindingID}"/>
<data:
DataGridTextColumnHeader="名称"Binding="{BindingName}"/>
<data:
DataGridTextColumnHeader="年龄"Binding="{Bindingage}"/>
<data:
DataGridTextColumnHeader="性别"Binding="{Bindingsex}"/>
<data:
DataGridTextColumnHeader="时间"Binding="{BindingAddTime}"/>
</data:
DataGrid.Columns>
</data:
DataGrid>
<ButtonContent="查看选中项"Grid.Row="2"Width="60"Click="Button_Click"></Button>
</Grid>
</Grid>
</UserControl>
cs.
Code
usingSystem.Collections.Generic;
usingSystem.Windows;
usingSystem.Windows.Controls;
usingSystem.Windows.Browser;namespaceCheckBoxAllDataGrid
{
publicpartialclassPage:
UserControl
{
publicPage()
{
InitializeComponent();
}privatevoidUserControl_Loaded(objectsender,RoutedEventArgse)
{
ContentGrid.ItemsSource=SetStudentInfo();
}
//全选
privatevoidCheckBox_Click(objectsender,RoutedEventArgse)
{
if(ContentGrid.ItemsSource!
=null)
{
if(this.CBAll.IsChecked.Value)//全选
{
foreach(objectovjinContentGrid.ItemsSource)
{
CheckBoxcb1=ContentGrid.Columns[0].GetCellContent(ovj).FindName("ck")asCheckBox;//cb为cb1.IsChecked=true;
}
}
else//取消
{
foreach(objectobjinContentGrid.ItemsSource)
{
CheckBoxcb2=ContentGrid.Columns[0].GetCellContent(obj).FindName("ck")asCheckBox;cb2.IsChecked=false;
}
}
}
}
//查看选中项
privatevoidButton_Click(objectsender,RoutedEventArgse)
{
stringstrID="";
foreach(objectovjinContentGrid.ItemsSource)
{
CheckBoxcb1=ContentGrid.Columns[0].GetCellContent(ovj).FindName("ck")asCheckBox;if(cb1.IsChecked.Value)
strID=strID+cb1.Tag+",";
}
if(strID!
="")
HtmlPage.Window.Alert("你选中学生ID号有"+strID.Substring(0,strID.Length-1));
else
HtmlPage.Window.Alert("请选择学生");
}publicList<student>SetStudentInfo()
{
List<student>studentinfo=newList<student>();studentinfo.Add(newstudent{ID=1,Name="test1",age=22,sex="男",AddTime="1987-01-09"});
studentinfo.Add(newstudent{ID=2,Name="李四",age=22,sex="男",AddTime="1981-11-6"});
studentinfo.Add(newstudent{ID=3,Name="王五",age=22,sex="男",AddTime="2001-01-9"});
studentinfo.Add(newstudent{ID=4,Name="小林",age=22,sex="女",AddTime="1985-03-12"});
studentinfo.Add(newstudent{ID=5,Name="小金",age=22,sex="男",AddTime="1989-01-21"});
studentinfo.Add(newstudent{ID=6,Name="小吴",age=22,sex="女",AddTime="1984-08-5"});
studentinfo.Add(newstudent{ID=7,Name="小王",age=22,sex="男",AddTime="1983-07-09"});
studentinfo.Add(newstudent{ID=8,Name="可耕地",age=22,sex="男",AddTime="1986-09-10"});
studentinfo.Add(newstudent{ID=9,Name="测
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- silverlight CheckBox DataGrid 全选 取消