首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编辑DataGrid行中的其他单元格后,更新其中的其他单元格

在编辑DataGrid行中的其他单元格后,更新其中的其他单元格,可以通过以下步骤实现:

  1. 首先,确保你已经正确地绑定了DataGrid控件与数据源。这可以通过设置DataGrid的ItemsSource属性来完成,将其绑定到一个包含数据的集合。
  2. 当用户编辑DataGrid中的某个单元格时,可以通过监听DataGrid的CellEditEnding事件来捕获编辑结束的事件。
  3. 在CellEditEnding事件处理程序中,可以获取到正在编辑的单元格的行和列的索引。通过这些索引,可以获取到其他需要更新的单元格的位置。
  4. 根据需要更新的单元格的位置,可以使用DataGrid的Items属性来获取到对应的行数据对象。
  5. 通过行数据对象,可以获取到其他需要更新的单元格的值,并进行相应的更新操作。

以下是一个示例代码,演示了如何在编辑DataGrid行中的其他单元格后,更新其中的其他单元格:

代码语言:txt
复制
private void DataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
    DataGrid dataGrid = (DataGrid)sender;
    DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(dataGrid.SelectedIndex);
    
    // 获取正在编辑的单元格的行和列索引
    int editedRowIndex = dataGrid.SelectedIndex;
    int editedColumnIndex = dataGrid.CurrentCell.Column.DisplayIndex;
    
    // 获取其他需要更新的单元格的位置
    int otherColumnIndex = 0; // 假设需要更新的单元格在第一列
    
    // 获取行数据对象
    YourDataObject rowData = (YourDataObject)row.Item;
    
    // 获取其他需要更新的单元格的值
    string otherCellValue = rowData.OtherColumnValue;
    
    // 更新其他单元格的值
    DataGridCell otherCell = GetCell(dataGrid, row, otherColumnIndex);
    if (otherCell != null)
    {
        TextBlock textBlock = otherCell.Content as TextBlock;
        if (textBlock != null)
        {
            textBlock.Text = otherCellValue;
        }
    }
}

private DataGridCell GetCell(DataGrid dataGrid, DataGridRow row, int columnIndex)
{
    if (row != null)
    {
        DataGridCellsPresenter presenter = GetVisualChild<DataGridCellsPresenter>(row);
        if (presenter != null)
        {
            DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(columnIndex);
            if (cell == null)
            {
                dataGrid.ScrollIntoView(row, dataGrid.Columns[columnIndex]);
                cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(columnIndex);
            }
            return cell;
        }
    }
    return null;
}

private childItem GetVisualChild<childItem>(DependencyObject obj) where childItem : DependencyObject
{
    int childrenCount = VisualTreeHelper.GetChildrenCount(obj);
    for (int i = 0; i < childrenCount; i++)
    {
        DependencyObject child = VisualTreeHelper.GetChild(obj, i);
        if (child != null && child is childItem)
        {
            return (childItem)child;
        }
        else
        {
            childItem childOfChild = GetVisualChild<childItem>(child);
            if (childOfChild != null)
            {
                return childOfChild;
            }
        }
    }
    return null;
}

这是一个简单的示例,你可以根据实际需求进行修改和扩展。在实际开发中,你可能需要根据具体的数据结构和业务逻辑进行相应的处理和更新操作。

对于DataGrid的其他单元格更新,你可以根据具体的需求来选择合适的方式,例如直接更新数据源、通过绑定更新、或者使用命令模式等。腾讯云提供了一系列云计算产品,例如云数据库、云服务器、云原生应用引擎等,可以根据具体的需求选择适合的产品来支持你的应用。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多相关产品和服务的详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

开发和测试遇到其他问题(持续更新)

1.postman进行参数传值时候不要在value中加引号了 第一次用posman分析了好久就是没搞懂咋sql直接执行没问题.传值就报错了,奇了怪哉~ 2.mybatisforeach便利集合进行拼接时候使用了自定义名字...,但是dao层忘了指出自定义名称 案例 因为xmlforeach对于collection默认集合名称为list,只有我们在dao层传入时候指定参数名才可以使用自定义名....小结一下啥时候用@param指定参数名称 1.动态sql时候(包括test if这样) 2.多个参数 3.取别名 4.映射sql 使用进行取值(其实和刚刚我们 默认指定 一样,这里默认用...乱码问题解决 new String(Base64.decodeBase64("要解析str"), "要转换为识别码"); new String(Base64.decodeBase64("要解析str...如果我们limit6,6可能还会出现前6条数据,这是为什么呢?

1.1K30

问与答98:如何根据单元格值动态隐藏指定

excelperfect Q:我有一个工作表,在单元格B1输入有数值,我想根据这个数值动态隐藏2至行100。...具体地说,就是在工作表中放置一个命令按钮,如果单元格B1数值是10时,当我单击这个命令按钮时,会显示前10,即第2至第11;再次单击该按钮,隐藏全部,即第2至第100;再单击该按钮,...则又会显示第2至第11,又单击该按钮,隐藏第2至第100……也就是说,通过单击该按钮,重复显示第2至第11与隐藏第2至第100操作。...注:这是在chandoo.org论坛上看到一个贴子,有点意思。...A:使用VBA代码如下: Public b As Boolean Sub HideUnhide() If b =False Then Rows("2:100").Hidden

6.3K10
  • Excel实用公式6:求每隔n单元格之和

    学习Excel技术,关注微信公众号: excelperfect 很多时候,我们都可能想要对每隔n单元格求和,其中n是一个整数。如下图1所示,每隔1求和、每隔2求和、每隔3求和,等等。 ?...图1 从图1示例可知,如果我们每隔1求和,有求奇数或者偶数单元格之和两种情况,其中,奇数求和数组公式为: =SUM(IF(MOD(ROW($A$1:$A$15),2)=1,$A$1:$A$15,0...)) 偶数求和数组公式为: =SUM(IF(MOD(ROW($A$1:$A$15),2)=0,$A$1:$A$15,0)) 注意,本文中公式都是数组公式,也就是说,在公式输入完成要按Ctrl+Shift...对于每隔2求和,即求第1、4、7、10、13单元格之和,使用数组公式: =SUM(IF(MOD(ROW($A$1:$A$15),3)=1,$A$1:$A$15,0)) 对于每隔3求和,即求第1、...5、9、13单元格之和,使用数组公式: =SUM(IF(MOD(ROW($A$1:$A$15),4)=1,$A$1:$A$15,0)) 我们可以得到一个规律,对于每隔n求和(n>1),其一般公式

    3.8K40

    androidwebview加载速度影响其他控件更新问题

    在android当界面比较复杂时候 我们一般采用webview来解决问题,避免写很多复杂布局 这个也叫作混合布局吧,但是一个问题就是webview利用是系统浏览器,导致问题主要是网络速度 当网速快时候还好...,不是特别明显  当网络慢时候就麻烦了 其他控件都加载完了,webview还没有加载完,阿西吧啊 怎么办呢,所以在布局时候要注意了,尽量先显示webview内容,安排合理些,否则就放弃这种布局...然后把其他控件更新放在webview完成事件里面: @SuppressLint("SetJavaScriptEnabled") private void initWebView() { //...=0){ //页面下载完毕,不代表页面渲染完毕,如果要加入进度条,请在这里设置 new GetWzCommentTask().execute();//加载评论信息 }...,如果有进度条 当完成时候就把进度条消失,这里先只做提示处理 super.onProgressChanged(view, newProgress); } }); }

    97620

    【愚公系列】2023年10月 WPF控件专题 DataGrid控件详解

    一、DataGrid控件详解WPFDataGrid是一个非常强大和灵活控件,它可用于展示和编辑数据。...CancelEdit():取消当前单元格编辑状态。CommitEdit():提交当前单元格编辑状态。CancelEdit():取消当前单元格编辑状态。Sort():对数据进行排序。...DataGrid还有许多其他属性和方法,可以根据需求进行使用。1.属性介绍WPFDataGrid控件常见属性如下:AutoGenerateColumns:是否自动生成列,默认为true。...数据编辑DataGrid控件可以支持数据编辑,包括单元格编辑编辑和列编辑等方式,方便用户对数据进行修改和更新。...数据导入导出:DataGrid控件可以支持数据导入和导出,可以将数据快速地导入到DataGrid中进行展示,也可以将DataGrid数据导出到其他文件格式,方便数据共享和使用。

    1.1K00

    jQuery EasyUI 详解

    undefined formatter function 单元格格式化函数,需要三个参数:value: 字段值。rowData: 记录数据。 rowIndex: 索引。...onAfterRender target 视图被呈现触发。 事件 其事件扩展自 panel,下列是为 datagrid 增加事件。...rowIndex, rowData, changes 当用户完成编辑时触发,参数包括: rowIndex:编辑索引,从 0 开始rowData:编辑对应记录changes:更改字段/值对...endEdit index 结束对一进行编辑。 cancelEdit index 取消对一进行编辑。 getEditors index 获取指定编辑器们。...validateRow index 验证指定,有效时返回 true。 updateRow param 更新指定, param 参数包含下列特性:index:更新索引。row:新数据。

    9.1K10

    常见 Datagrid 错误

    因为 Datagrid 是由多个(项目)组成,所以数据源每一实际都会有一个单独“MyTextBox”实例。...忘记在每个 Datagrid 事件执行 .DataBind() 调用,从而导致回发 一个常见问题是:“当我点击 Datagrid 某一 Edit(编辑)链接时,页面回发,且不包含任何数据。...例如,有时需要在选择其他页面选项,才能在运行时确定用户界面。或是要创建一个复合服务器控件,其中每个子控件都需要动态创建,因为无法以声明方式创建这些子控件。...但如果禁用 ViewState,该步骤是必需,这样在执行 Page_Load 可以正确地引发其他 Datagrid 事件。...添加单元格Datagrid 表格输出时,这些事件可以用于控制每个单元格外观或内容。例如,可以基于数值范围修改单元格背景颜色。

    2.3K20

    OEA WPF 树型表格虚拟化设计方案

    假设只有 30 ,一个单元格仅生成 5 个可视元素,200 列单元格都会产生 3W 个可视元素,而布局系统 Measure 方法需要对可视树每一个元素都调用其对应 Measure 方法,可以想象...也就是说,TreeGrid 作为一个 ItemsControl,其中所有单元格 TreeGridCell 都必须作为它逻辑子容器。这样设计虽然实现了界面虚拟化,但是并不可取。...这是因为,开发人员对于 TreeGrid 常见用法应该是:TreeGrid 每一项是一个表格 TreeGridRow,而 TreeGridRow 又是一个 ItemsControl,其中每一项才是横向排列单元格...由于每一个 DataContext,也应该是每一个单元格 DataContext,所以 DataGridCellsPresenter.ItemsSource 应该被设置为一个数据模型对象列表,其中每一个元素都是...图3 TreeGrid 虚拟化可视树元素     由于每一列单元格都是随着拖动横向滚动条而生成,所以在拖动时有一定延迟,没有原来感觉流畅。所以当列数较少时,则没有必要打开列虚拟化。

    2.7K70

    C# WPF DataGrid获取单元格并改变背景色

    01 概述 WPF 自带了一个表格控件datagrid,这个控件类似winfromdatagridview,在数据显示时候也经常会用到,这节主要讲解如何从后台代码获取到单元格控件并改变其相关属性:...DataGridCellsPresenter presenter = GetVisualChild(row);//函数调用,获取中所有单元格集合...> 04 解析 ① 因为我需要绑定SelectedCellsChanged事件,所以前台将默认选中模式修改为单元格选中模式: SelectionMode="...Single" SelectionUnit="Cell" 这样修改SelectionChanged这个事件将不再触发(只有在行选中模式下生效); ②获取选中单元格值: var info = this.dgSourceData.SelectedCells.FirstOrDefault...;//获取选中单元格行号 在当SelectionUnit="Cell"时: 我是通过选中单元格对应信息和表格控件绑定集合匹配获取行号: for (int i = 0; i < ShellViewModel.StudentList.Count

    2.7K20

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

    一、如何从 Datagrid 获得单元格内容    DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它 items. ...但是,WPFDataGrid 不同于Windows Forms DataGridView。 ...在DataGridItems集合,DataGridRow 是一个Item,但是,它里面的单元格却是被封装在 DataGridCellsPresenter 容器;因此,我们不能使用 像DataGridView.Rows.Cells...这样语句去获得单元格内容。...IValueConverter  有的时候,我们想让绑定数据以其他格式显示出来,或者转换成其他类型,我们可以 使用值转换器来实现.比如我数据中保存了一个文件路径”c:\abc\abc.exe”

    5.5K70

    Windows Community Toolkit 4.0 - DataGrid - Part03

    而在本篇,我们会对控件中最重要 DataGrid 文件夹类做详细分享。...接着我们看几个重要类和方法: 1. DataGrid.cs 这个类是 DataGrid 控件主要处理类,功能也是比较复杂,单个类代码行数是 9001 ,我们只挑两个方法来看一下。...其他方法大家有兴趣或用到时可以在 DataGrid.cs 查阅。...1) DataGrid() 首先看一下 DataGrid构造方法,之所以看这个方法,是想让大家可以更了解 DataGrid变量初始化方式,这些变量在不同交互场景下会被赋予不同值。...接下来我们会就 DataGrid 控件各种编辑功能,各种自定义功能等做进一步使用方式分享。

    57320

    day51_BOS项目_03

    2.1、基础档案设置 功能概述:     在其他系统通常称为“数据字典”。`提供基础数据,供其他模块使用`。     ...使用方式 数据网格(datagrid)以表格格式显示数据,并为选择、排序、分组和编辑数据提供了丰富支持。...数据网格(datagrid设计目的是为了减少开发时间,且不要求开发人员具备指定知识。它是轻量级,但是功能丰富。它特性包括单元格合并,多列页眉,冻结列和页脚,等等。...5、基于datagrid实现取派员分页查询 第一步:修改staff.jsp页面datagridURL地址,访问action     // 取派员信息表格     $('#grid').datagrid... 列(Column)属性单元格格式化函数:formatter     // 定义列     var columns = [ [ {         field : 'id',

    3.4K10

    如何快速实现多人协同编辑

    A用户正在编辑时,B用户在上方插入了一,此时A编辑单元格也要下移,而不是保留在原位; 3....当客户端有用户开始编辑时,向服务端发送消息, 而服务端需要维护一个数组,记录所有当前正在被编辑单元格信息,并向所有客户端同步 其他客户端收到消息,用户如果要编辑单元格,则禁止用户进入编辑状态...当然,用户可能希望看到有哪些人正在编辑哪些单元格,类似于这种效果: 这里是用自定义单元格方案实现: 这个功能算是初步实现了,但是考虑一下这种情况:如果你正在编辑时,其他用户在上方插入了一呢?...Lily本来正在编辑A2,Alen在上方插入一,Lily应该编辑是A3,但是以我们目前实现方式,Lily编辑仍然是A2。对应,在上方删除、在左侧插入删除列都会有同样问题。...这里Lily和Alen两个人都会受到影响,Lily编辑单元格应该移动,Alen被锁定单元格也应该移动,而Alen这边比较简单,服务端根据插入行列更新锁定单元格信息就好,Lily这边则麻烦一些,需要记录下

    33820

    C# WPF DataGrid下面 使用CheckBox 选中事件

    控件文件 第一种方式:在对应实现 格子 数据网格名称='DG1 '网格Row='5 '网格column span=' 4 ' items source=' { Binding my list,.../数据网格模板列.单元格模板/数据网格模板列 datagrid文本列宽=' 250 '是readonly=' true '单元格样式=' { static resource NoBoundaryDataGridCell...} ' Header='其他测试Binding='{Binding ExpiryDate,Mode=TwoWay}'//DataGrid .列 数据网格 对应特许测量员文件事件 private void...foreach(我列表变量临时签证 selectItem.isEnable=false ....//这里是拿到我列表类属性属性即上面标记语言中检验盒中绑定变量 } } } 第二种实现:MVVM结构 Da taGridTemplateColumn .HeaderTemplate数据模板复选框为

    2.8K40

    GridView隐藏列取值解决方案

    这一功能在DataGrid时代几乎是必须,在对列表进行批量选中操作时非常有用(比如批量删除),隐藏列通常用于存储DataGrid对应数据记录关键字值,而现在在GridView却行不通,着实令一大批人头疼不已...就事论事,回到标题,现提供我对这个问题解决方案,基本思想仍然是用css使得单元格不可见,而不妨碍它数据绑定,但我方法却不需要在cs文件多加一代码,其思路如下: (1)设置一个css类:  ....hidden { display:none;} 在web标准横行现在,我想为每个aspx链接一个common.css是基本素质,呵呵 (2)随后在GridView编辑对话框,对需要进行隐藏列进行设置...是的,在DataGrid,要实现这个功能,隐藏列来存储键值是必须,甚至是一个初学者需要摸索才能知道技巧。然而现在GridView是用来替代DataGrid,微软所作考虑更加周全。...针对DataGrid无法提供主键问题,它提供了两个全新属性:DataKeys和DataKeyNames!

    1.5K30

    Newbeecoder.UI新版开源控件库DataGrid使用说明

    DataGrid控件显示数据和信息集合。在WPF能自定义外观,单元格,表格头部,字体,颜色等内容。 使用ItemsSource属性进行数据源绑定,绑定任何实现IEnuemerable数据源。...默认情况下,当用户单击DataGrid单元格时会选择整行,如果用户选择多行设置SelectionMode属性。假如不想生成自动列使用AutoGenerateColumns属性设置为false。...GridLinesVisibility使网格线可见、AreRowDetailsFrozen冻结详细信息。Microsoft Docs对DataGrid每项功能有详细说明。...在样式中有常见表格选项,如交替背景和显示/隐藏标题,网格线和滚动条。多个样式和模板属性,通过对ColumnHeaderStyle,CellStyle,RowStyle自定义样式达到设计需求。...> ​

    2.9K30

    表格控件:计算引擎、报表、集算表

    主要更新亮点 工作薄增强 居右对齐 将样式 textDirection 属性设置为 rightToLeft,可以将单元格文本方向更改为从右到左。...这允许用户指定或列大小是否应根据其中文本进行更改。...启用后,当隐藏单元格处于活动状态时,编辑栏将不会显示任何数据,输入编辑器在编辑模式下将为空,并且公式编辑器面板将不会显示公式。 利用这个特性,可以保护一些单元格公式,避免使用者看到公式或修改。...如果图表绑定到完整表或使用表结构引用某些列,则表任何更新都将在运行时自动更新图表系列或数据值。 图表数据标签“单元格值” 图表数据标签现在支持使用单元格引用来显示所选单元格范围值。...运行时 UI 操作:类似于工作表操作,如单元格编辑、添加/删除/列、剪贴板操作、拖动/移动/列等 集算表 API:大多数更改数据或设置 API 操作(setDataView 方法除外) 同样,在表格编辑也支持撤销重做

    11310

    dotnet OpenXML 利用合并表格单元格在 PPT 文档插入不可见额外版权信息

    本文告诉大家如何利用 Office 对于 OpenXML 支持特性,在 PPT 表格里面,通过合并单元格存放一些额外信息,这些信息对用户来说是不可见,但是进行拷贝表格等时候,可以保存此信息内容...在开始之前,期望大家已了解很多 OpenXML 知识,详细请看 Office 使用 OpenXML SDK 解析文档博客目录 在 PPT 表格里面,采用了 RowSpan 用来表示单元格跨行,对应在下一单元格将会被标记...例如我对第一第一个单元格设置合并单元格,合并行,那么在第二第一列单元格将被标记 vMerge="1" 表示被合并,如下面表格 在 Office 读取 OpenXML 文档,将无视 vMerge...="1" 存在,也就是此属性只是给开发者看而已,无论是否存在都不会影响到单元格合并 但事实上,依然可以在标记了 vMerge="1" 单元格上面添加内容,例如以下有删减 OpenXML 文档...也就是说可以方便在合并单元格里面存放一些版权信息,这些版权信息对于用户来说,除非是特意去更改,否则都会放在文档里面 如果忽略合并单元格,通过 WPF 应用读取文档,使用 DataGrid 在界面显示

    97810
    领券