/若datagrid出现滚动条可能会出现问题需要加上下面俩句话。
//因为出滚动条时,为了显示加速,datagrid会加载一部分数据。另一些数据当滚动时在加载进去 这样初始化获取不到这些数据。
//在datagrid上添加上以下俩句话可以避免预加载数据,使数据全部加载出来
EnableColumnVirtualization="False" EnableRowVirtualization="False"

// 页面加载,数据初始化

  1. private void Dict_PrSCList_Load(object sender, RoutedEventArgs e)
  2. {
  3. BingData();
  4. BingComplete();
  5. }

//绑定数据

  1. private void BingData()
  2. {
  3. DataTable dt;
  4. dt = MngDBFuncWPF.listPrSCName();
  5. lbCount.Content = "共找到 " + dt.Rows.Count + " 条符合条件的记录";
  6. udgList.ItemsSource = dt.DefaultView;
  7. }

//绑定数据后设置模板列中按钮显示和不显示

    1. private void BingComplete()
    2. {
    3. for (int i = 0; i < this.udgList.Items.Count; i++)
    4. {
    5. //int index = dataGrid.CurrentCell.Column.DisplayIndex;
    6. //获取行 并转换为DataGridRow
    7. var cntr = udgList.ItemContainerGenerator.ContainerFromIndex(i);
    8. if (cntr == null)
    9. {
    10. udgList.UpdateLayout();
    11. //datagrid.ScrollIntoView(datagrid.Items[rowIndex]);
    12. cntr = (DataGridRow)udgList.ItemContainerGenerator.ContainerFromIndex(i);
    13. //cntr.IsSelected = true;
    14. }
    15. if (cntr == null) return;
    16. DataGridRow ObjROw = (DataGridRow)cntr;
    17. //定义列
    18. DataGridTemplateColumn templeColumn = udgList.Columns[0] as DataGridTemplateColumn;
    19. if(templeColumn == null) return;
    20. //object item;
    21. //item = udgList.CurrentCell.Item;
    22. //item = udgList.Columns[0].GetCellContent(ObjROw);
    23. //FrameworkElement element = templeColumn.GetCellContent(item);
    24. //获取单元格 通过列和行的交汇处 获取单元格
    25. FrameworkElement element = templeColumn.GetCellContent(ObjROw);
    26. if (element == null) return;
    27. //通过 Name获取该单元格下的button元素
    28. Button btnUpdateNum = templeColumn.CellTemplate.FindName("BTBJ", element) as Button;
    29. //设置其是否隐藏
    30. btnUpdateNum.Visibility = Visibility.Hidden;
    31. }
    32. }

wpf datagrid 中按钮 动态显示的更多相关文章

  1. 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色

    原文:在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 例如根据学生的年龄来修改,年龄 ...

  2. WPF DataGrid中鼠标双击某一列,弹出窗体作为(增加、修改、详细)按钮的快捷键。

    跟触发器行为有关,什么是触发器什么是行为,百度其他人写的乱七八糟的,我并不能看懂.在此先强行记忆,后知后觉,再回来理解. <i:Interaction.Triggers> <i:Ev ...

  3. WPF datagrid 列按钮使用

    原文:WPF中使用DataGrid时操作列按钮问题     <DataGrid x:Name="datagrid" AutoGenerateColumns="Fal ...

  4. WPF dataGrid中的check的改变事件

    关于datagrid信息: <DataGridTemplateColumn Header="备注"> <DataGridTemplateColumn.CellTe ...

  5. 编写 WPF DataGrid 列模板,实现更好的用户体验

    Julie Lerman 下载代码示例 最近我在为一个客户做一些 Windows Presentation Foundation (WPF) 方面的工作. 虽然我提倡使用第三方工具,但有时也会避免使用 ...

  6. wpf 获取datagrid中模板中控件

    //获取name为datagrid中第三列第一行模板的控件 FrameworkElement item = dataGrid.Columns[].GetCellContent(dataGrid.Ite ...

  7. 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH

    原文 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH 在项目中关于DataGrid的遇到过一些问题,其中是关于迁入CheckBox的双向 ...

  8. WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)

    原文:WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选) 前台代码 <DataGrid.Columns> <DataGridCheckB ...

  9. WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter

    一.如何从 Datagrid 中获得单元格的内容 DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. 但是,W ...

随机推荐

  1. Spring IOC、对象依赖关系

    Spring IOC.对象依赖关系   2016-09-21 01:36 414人阅读 评论(0) 收藏 举报 本文章已收录于: 版权声明:本文为博主原创文章,未经博主允许不得转载. 引入 Strut ...

  2. gensim自然语言处理(续)

    上一篇,已经实现了如何将一条语句在一个语料库中比较相似度, 发现运行的时候每次都要编译语料库,通过查找资料,可以一次性编译成预料库,存人文件 编译语料库代码 11_k.py import sysimp ...

  3. java编写Loadrunner脚本

    web.set_max_html_param_len("1000000"); lr.start_transaction("red_envelop"); web. ...

  4. connect(mapStateToProps,mapDispatchToProps) 的写法

    1.写法 import { connect } from 'redux'; import { loading, asyncRequset } from '../../actions/common'; ...

  5. 15个极好的Linux find命令示例

    基于访问/修改/更改时间查找文件 你可以找到基于以下三个文件的时间属性的文件. 访问时间的文件.文件访问时,访问时间得到更新. 的文件的修改时间.文件内容修改时,修改时间得到更新. 更改文件的时间.更 ...

  6. PHP-PHP常见错误

    错误1:foreach循环后留下悬挂指针 在foreach循环中,如果我们需要更改迭代的元素或是为了提高效率,运用引用是一个好办法: $arr = array(1, 2, 3, 4); foreach ...

  7. JavaScript-深入理解JavaScript(一、预编译和执行过程)

    一.预解析 JavaScript 在执行前会进行类似“预解析”的操作:首先会创建一个在当前执行环境下的活动对象, 并将那些用 var 声明的变量.定义的函数设置为活动对象的属性, 但是此时这些变量的赋 ...

  8. Asp.Net MVC之防止用户注入脚本参数

    假设有一个Controller,代码如下: public string Browse(string genre) { string message = "Store.Browse, Genr ...

  9. hadoop2.7.0实践- WordCount

    环境要求 说明:本文档为wordcount的mapreduce job编写及执行文档. 操作系统:Ubuntu14 x64位 Hadoop:Hadoop 2.7.0 Hadoop官网:http://h ...

  10. 纯div+css制作的弹出菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...