DataGrid 如何得到DataGridRow 和DataGridCell 对象

第一行为不可编辑

 DataGridRow row = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(0);

            if (row == null)

            {

                dataGrid1.UpdateLayout();

                row = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(0);

                

         }

         row.IsEnabled = false;

        public static T GetVisualChild<T>(Visual parent) where T : Visual

        {

            T childContent = default(T);

            int numVisuals = VisualTreeHelper.GetChildrenCount(parent);

            for (int i = 0; i < numVisuals; i++)

            {

                Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);

                childContent = v as T;

                if (childContent == null)

                {

                    childContent = GetVisualChild<T>(v);

                }

                if (childContent != null)

                {

                    break;

                }

            }

            return childContent;

        }

 

 

//第二行第一列不可编辑

                 DataGridRow rowContainer = GetDataGridRow(dataGrid1, 1);

 

                if (rowContainer != null)

                {

                    DataGridCellsPresenter presenter = GetVisualChild<DataGridCellsPresenter>(rowContainer);

                    DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(1);

                    if (cell == null)

                    {

                        dataGrid1.ScrollIntoView(rowContainer, dataGrid1.Columns[0]);

                        cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(0);

                       

                    }

 

                    cell.IsEnabled = false;

                }

时间: 2024-10-11 00:28:32

DataGrid 如何得到DataGridRow 和DataGridCell 对象的相关文章

WPF:获取DataGrid控件单元格DataGridCell

转载:http://blog.csdn.net/jhqin/article/details/7645357 /* ---------------------------------------------------------- 文件名称:DataGridPlus.cs 作者:秦建辉 MSN:[email protected] QQ:36748897 博客:http://blog.csdn.net/jhqin 开发环境: Visual Studio V2010 .NET Framework 4

EasyUI 中 DataGrid 控件 列 如何绑定对象中的属性

EasyUI 中 DataGrid 控件 是我们经常用到的控件之一, 但是 DataGrid 控件 在绑定显示列时却不支持对象属性绑定. 模型如下: public class Manager implements java.io.Serializable { private Integer id; private Role role; private String loginName; private String password; private int status; private Da

让datagrid中的columns属性支持对象的子属性(类似user.userName)的方法

前台的datagrid的columns属性如下:(请看红色字体部分) columns : [ [ {  //每列上的属性.名称设置 title : '编号', field : 'userInfoId', width : 100, sortable : true },{ title : '姓名', field : 'userInfoName', width : 100, sortable : true },{ title : '密码', field : 'userInfoPassword', wi

DataGrid 得到DataGridRow 和DataGridColumn

1 /* ---------------------------------------------------------- 2 文件名称:DataGridPlus.cs 3 4 作者:秦建辉 5 6 MSN:[email protected] 7 QQ:36748897 8 9 博客:http://blog.csdn.net/jhqin 10 11 开发环境: 12 Visual Studio V2010 13 .NET Framework 4 Client Profile 14 15 版本

获取dataGrid 行

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 using System.Windows.Control

遍历WPF DataGrid单元格

using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Media; namespace Splash.WPF { public static class DataGridPlus { /// <summary> /// 获取DataGrid控件单元格 /// </summary> /// <param name="dataGrid&q

wpf 中DataGrid 控件的样式设置及使用

本次要实现的效果为: 这个DataGrid需要绑定一个集合对象,所以要先定义一个Experience类,包含三个字段 /// <summary> /// 定义工作经历类 /// </summary> public class Experience { /// <summary> /// 获取或设置工作的起始时间 /// </summary> public string Start { get; set; } /// <summary> /// 获

jQuery EasyUI Datagrid组件默认视图分析

在Datagrid基础DOM结构的一文中,我对Datagrid组件的骨架做了很详细的描述.有了骨架还并不完整,还得有血有肉有衣服穿才行.强大的Datagrid组件允许我们自己定义如何在基础骨架上长出健壮诱人的身体,我们只要定义Datagrid的视图就可以实现. 在大多数情况下,我们并无特别要求,Datagrid给我们提供了默认的视图,默认视图被使用在90%以上的场景,所以对默认视图的分析显得非常有必要.注意视图里面定义了哪些接口,哪些方法,如果要自己写视图的话,最好把这些接口和方法都写齐全.话不

自定义表头Datagrid

自定义的一个表头 1 <bp:BasePage x:Class="NetReform.Pages.RealProbabiTableCompare" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:mc="http:/