wpf datagrid 中按钮 动态显示
/若datagrid出现滚动条可能会出现问题需要加上下面俩句话。
//因为出滚动条时,为了显示加速,datagrid会加载一部分数据。另一些数据当滚动时在加载进去 这样初始化获取不到这些数据。
//在datagrid上添加上以下俩句话可以避免预加载数据,使数据全部加载出来
EnableColumnVirtualization="False" EnableRowVirtualization="False"
// 页面加载,数据初始化
- private void Dict_PrSCList_Load(object sender, RoutedEventArgs e)
- {
- BingData();
- BingComplete();
- }
//绑定数据
- private void BingData()
- {
- DataTable dt;
- dt = MngDBFuncWPF.listPrSCName();
- lbCount.Content = "共找到 " + dt.Rows.Count + " 条符合条件的记录";
- udgList.ItemsSource = dt.DefaultView;
- }
//绑定数据后设置模板列中按钮显示和不显示
- private void BingComplete()
- {
- for (int i = 0; i < this.udgList.Items.Count; i++)
- {
- //int index = dataGrid.CurrentCell.Column.DisplayIndex;
- //获取行 并转换为DataGridRow
- var cntr = udgList.ItemContainerGenerator.ContainerFromIndex(i);
- if (cntr == null)
- {
- udgList.UpdateLayout();
- //datagrid.ScrollIntoView(datagrid.Items[rowIndex]);
- cntr = (DataGridRow)udgList.ItemContainerGenerator.ContainerFromIndex(i);
- //cntr.IsSelected = true;
- }
- if (cntr == null) return;
- DataGridRow ObjROw = (DataGridRow)cntr;
- //定义列
- DataGridTemplateColumn templeColumn = udgList.Columns[0] as DataGridTemplateColumn;
- if(templeColumn == null) return;
- //object item;
- //item = udgList.CurrentCell.Item;
- //item = udgList.Columns[0].GetCellContent(ObjROw);
- //FrameworkElement element = templeColumn.GetCellContent(item);
- //获取单元格 通过列和行的交汇处 获取单元格
- FrameworkElement element = templeColumn.GetCellContent(ObjROw);
- if (element == null) return;
- //通过 Name获取该单元格下的button元素
- Button btnUpdateNum = templeColumn.CellTemplate.FindName("BTBJ", element) as Button;
- //设置其是否隐藏
- btnUpdateNum.Visibility = Visibility.Hidden;
- }
- }
wpf datagrid 中按钮 动态显示的更多相关文章
- 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色
原文:在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 例如根据学生的年龄来修改,年龄 ...
- WPF DataGrid中鼠标双击某一列,弹出窗体作为(增加、修改、详细)按钮的快捷键。
跟触发器行为有关,什么是触发器什么是行为,百度其他人写的乱七八糟的,我并不能看懂.在此先强行记忆,后知后觉,再回来理解. <i:Interaction.Triggers> <i:Ev ...
- WPF datagrid 列按钮使用
原文:WPF中使用DataGrid时操作列按钮问题 <DataGrid x:Name="datagrid" AutoGenerateColumns="Fal ...
- WPF dataGrid中的check的改变事件
关于datagrid信息: <DataGridTemplateColumn Header="备注"> <DataGridTemplateColumn.CellTe ...
- 编写 WPF DataGrid 列模板,实现更好的用户体验
Julie Lerman 下载代码示例 最近我在为一个客户做一些 Windows Presentation Foundation (WPF) 方面的工作. 虽然我提倡使用第三方工具,但有时也会避免使用 ...
- wpf 获取datagrid中模板中控件
//获取name为datagrid中第三列第一行模板的控件 FrameworkElement item = dataGrid.Columns[].GetCellContent(dataGrid.Ite ...
- 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH
原文 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH 在项目中关于DataGrid的遇到过一些问题,其中是关于迁入CheckBox的双向 ...
- WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)
原文:WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选) 前台代码 <DataGrid.Columns> <DataGridCheckB ...
- WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter
一.如何从 Datagrid 中获得单元格的内容 DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. 但是,W ...
随机推荐
- win7远程凭据无法工作
由于上周过度用脑之后没有清空内存,导致脑容量不够用,办了件傻事,但是傻人有傻福,从中收获了很多, 这个错误可以这样形容,就是从哪里开始,就从哪里结束,好了,开始正文(以win8系统为例) 想要远程某一 ...
- 算法笔记_065:分治法求逆序对(Java)
目录 1 问题描述 2 解决方案 2.1 蛮力法 2.2 分治法(归并排序) 1 问题描述 给定一个随机数数组,求取这个数组中的逆序对总个数.要求时间效率尽可能高. 那么,何为逆序对? 引用自百度 ...
- 嵌入web字体
@font-face模块 可以帮助我们轻松解决Web页面中使用优雅字体的方式,而且我们可以根据需要自定义多种字体,但是每个@font-face只能定义一种,若需要多个字体就启用多个@f ...
- tmux入门 : 3. 会话
上一节我们已经将 tmux 安装好了,现在就可以通过以下命令来启动它: $ tmux 启动之后,可以看到命令行最底部多了一条绿色的状态条,上面显示了一些信息,比如计算机名和时间等. 要退出 tmu ...
- [springMVC - 1A] - Request processing failed; nested exception is org.apache.ibatis.builder.IncompleteElementException
一月 14, 2016 1:30:07 下午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for ...
- MFC中获取各个窗口之间的句柄或者指针对象的方法
MFC在非常多的对话框操作中,我们常常要用到在一个对话框中调用还有一个对话框的函数或变量.能够用例如以下方法来解决. HWND hWnd=::FindWindow(NULL,_T("S ...
- ORA-01400: 无法将 NULL 插入 ("CHARGE_WQRL"."SF_JMQTFY_T"."BH")
[ERROR] JmCheckManageDaoImpl:901 - java.sql.SQLException: ORA-01400: 无法将 NULL 插入 ("CHARGE_WQRL& ...
- Git-Git Book阅读笔记
git diff [fname] 查看工作区与缓存区异同 git diff --staged [fname] 查看缓存区与上次提交之间的差异 git diff HEAD [fname] 查 ...
- spring 代理 演变过程
动态代理演变 拿JDBC开事务举例子 最初 写代码 每个CUD 都需要开启事务 所以出现很多累赘代码 因此提出静态代理的构想,把事务交给后台做,程序员只需要 调用update(sql)就行了,upda ...
- 严重: Exception starting filter struts2 Unable to load configuration. - [unknown location]
一般来说,按照这个流程下来是没有错的:SSH三大框架合辑的搭建步骤 但是,近来的一个测试例子出现了以下这个问题,困扰了许久!! 各种百度&各种问同学,最后请教了张老师后问题得到解决: 1.这种 ...