三、WPF 全选,反选,以及获取选中行
页面代码
- <TextBlock>
- <CheckBox Name="cbAllCreate" Click="CbAllCreate_Click">All</CheckBox>
- <CheckBox Name="cbInverseCreate" Click="CbInverseCreate_Click">Inverse</CheckBox>
- </TextBlock>
- <DataGrid Name="dgCreateTable" AutoGenerateColumns="False" VerticalScrollBarVisibility="Visible" Height="210" EnableRowVirtualization="False">
- <DataGrid.Columns>
- <DataGridCheckBoxColumn Header="Chose" ></DataGridCheckBoxColumn>
- <DataGridTextColumn Header="Name" Binding="{Binding}" IsReadOnly="True"></DataGridTextColumn>
- </DataGrid.Columns>
- </DataGrid>
注:如果不加 EnableRowVirtualization="False" 全选反选会有遗漏的情况,所以一定要加上。
代码
- /// <summary>
- /// 全选
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void CbAllCreate_Click(object sender, RoutedEventArgs e)
- {
- CbAll(dgCreateTable, cbAllCreate);
- }
- /// <summary>
- /// 反选
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void CbInverseCreate_Click(object sender, RoutedEventArgs e)
- {
- Inverse(dgCreateTable, cbInverseCreate);
- }
- /// <summary>
- /// 全选
- /// </summary>
- /// <param name="dg"></param>
- /// <param name="cb"></param>
- void CbAll(DataGrid dg, CheckBox cb)
- {
- dg.IsEnabled = cb.IsChecked != true;
- for (int i = ; i < dg.Items.Count; i++)
- {
- DataGridRow neddrow = (DataGridRow)dg.ItemContainerGenerator.ContainerFromIndex(i);
- //获取该行的某列
- if (neddrow != null)
- {
- FrameworkElement objElement = dg.Columns[].GetCellContent(neddrow);
- if (objElement != null)
- {
- CheckBox objChk = (CheckBox)objElement;
- objChk.IsChecked = cb.IsChecked;
- }
- }
- }
- }
- /// <summary>
- /// 反选
- /// </summary>
- /// <param name="dg"></param>
- /// <param name="cb"></param>
- void Inverse(DataGrid dg, CheckBox cb)
- {
- // cb.IsChecked = false;
- for (int i = ; i < dg.Items.Count; i++)
- {
- DataGridRow neddrow = (DataGridRow)dg.ItemContainerGenerator.ContainerFromIndex(i);
- //获取该行的某列
- if (neddrow != null)
- {
- FrameworkElement objElement = dg.Columns[].GetCellContent(neddrow);
- if (objElement != null)
- {
- CheckBox objChk = (CheckBox)objElement;
- objChk.IsChecked = !objChk.IsChecked;
- }
- }
- }
- }
获取datagrid中选中的行
- List<string> GetDataGridList(DataGrid dg)
- {
- List<string> list = new List<string>();
- for (int i = ; i < dg.Items.Count; i++)
- {
- DataGridRow neddrow = (DataGridRow)dg.ItemContainerGenerator.ContainerFromIndex(i);
- //获取该行的某列
- if (neddrow == null)
- continue;
- FrameworkElement objElement = dg.Columns[].GetCellContent(neddrow);
- if (objElement == null)
- continue;
- CheckBox objChk = (CheckBox)objElement;
- if (objChk.IsChecked != true)
- continue;
- var obj = dg.Columns[].GetCellContent(neddrow);
- if (obj == null)
- continue;
- var tb = (TextBlock)obj;
- if (!string.IsNullOrEmpty(tb.Text))
- {
- list.Add(tb.Text);
- }
- }
- return list;
- }
三、WPF 全选,反选,以及获取选中行的更多相关文章
- ----Juquery复选框全选反选及获取选中值Value
--获取选中值 var pList = ""; $("[name='ckdProd']").each(function () { if ($(this).is( ...
- 基于JQ的多选/全选/反选及获取选中的值
<!-- author:青芒 --> <!DOCTYPE html> <html lang="en"> <head> <met ...
- checkbox、全选反选,获取值
<input id="Chk_All" onclick="CheckAll()" type="checkbox" /> < ...
- JQuery 全选 反选 获取Table 中指定td的元素值
//全选 function initTableCheckbox() { var $thr = $('table thead tr'); var $checkAllTh = $('<th>& ...
- jquery实现全选、全不选、反选、获取选中的所有值总结
HTML 我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮. <!doctype html> <html> <head& ...
- 全选,反选,获取值ajax提交
//必须先加载jquery //加载 弹出框插件 artdialog http://www.planeart.cn/demo/artDialog/ /****全选反选*开始**/ $(document ...
- jQuery实现的全选、反选和获取当前所有选中的值功能
链接: jQuery实现的全选.反选和获取当前所有选中的值功能 <ul id="list"> <li><label><input type ...
- jQuery 实现复选框全选、反选及获取选中的值
实现复选框全选,反选及获取选中的值: 代码如下: <!doctype html> <html lang="en"> <head> <met ...
- jQuery之标签操作和返回顶部、登录验证、全选反选、克隆示例
一.样式操作 1.JQ中的样式类 somenode.addClass();// 添加指定的CSS类名. somenode.removeClass();// 移除指定的CSS类名. somenode.h ...
随机推荐
- LeetCode-2. Add Two Numbers(链表实现数字相加)
1.题目描述 You are given two non-empty linked lists representing two non-negative integers. The digits a ...
- PHP在 win7 64位 旗舰版 报错 Call to undefined function curl_init()
代码在ubuntu下无缝运行OK 转到我的win7 64位 期间 学习机上 报错: Call to undefined function curl_init() 因为用到curl 远程抓取数据. 所以 ...
- sql在insert时判断有无唯一性冲突
sql在insert时判断有无唯一性冲突,存在相同主键或唯一索引,则不创建 INSERT INTO table(field1, field2, fieldn) SELECT 'field1', 'fi ...
- 基于angularJS的表单验证练习
今天看了一下angularJS的表单验证,看的有点云里雾里(也有可能是雾霾吸多了),于是做了一个小练习来巩固一下. html: <div ng-controller="Aaa" ...
- 【转载】log4j详解使用
log4j详解 日志论 在应用程序中输出日志有有三个目的:(1)监视代码中变量的变化情况,把数据周期性地记录到文件中供其他应用进行统计分析工作. (2)跟踪代码运行进轨迹,作为日后审计的依据. ...
- dip,px,sp区别及使用场景
1.区别 dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们为了支持WCGA.HVGA和QVGA推荐使用这个,不依赖于像素.等同于dp. px ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- 【JVM调优系列】----CPU过高的分析与解决方案
1.首先通过top命令查询当前进程所占cpu的一个比重
- IDEA 启动项目,tomcat中配置的虚拟路径无法使用
有时候,使用idea启动项目,非动静分离项目,直接根据图片url地址显示图片,会发现图片无法显示,tomcat中配置的虚拟路径无法使用,这时候需要配置idea.选择路径,然后给与一个访问名就行了.
- 重温js基础部分
临近面试,因此打算回过头来巩固一下js的一些基础部分,同时也是为了记录自己的一些比较薄弱的点. 1.typeof操作符 typeof返回一个基本数据类型,包括number,string,boolean ...