gpt4 book ai didi

c# - 如何获取 dataGrid1_BeginningEdit 事件中数据网格单元格的值?

转载 作者:太空狗 更新时间:2023-10-30 00:16:18 25 4
gpt4 key购买 nike

当我使用 dataGrid1_BeginningEdit 事件停止事件时,我正在尝试检查数据网格单元格的值是否为空。

代码如下,我可以在执行“dataGrid2_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)”时使用“(((TextBox)e.EditingElement).Text”,但不能用于以下内容。

    private void dataGrid2_BeginningEdit(object sender, DataGridBeginningEditEventArgs e)
{
int column = dataGrid2.CurrentCell.Column.DisplayIndex;
int row = dataGrid2.SelectedIndex;

if (((TextBox)e.EditingElement).Text == null)
return;

非常感谢

最佳答案

我想这对你有帮助......

    private void DataGrid_BeginningEdit(
object sender,
Microsoft.Windows.Controls.DataGridBeginningEditEventArgs e)
{
e.Cancel = GetCellValue(((DataGrid) sender).CurrentCell) == null;
}

private static object GetCellValue(DataGridCellInfo cell)
{
var boundItem = cell.Item;
var binding = new Binding();
if (cell.Column is DataGridTextColumn)
{
binding
= ((DataGridTextColumn)cell.Column).Binding
as Binding;
}
else if (cell.Column is DataGridCheckBoxColumn)
{
binding
= ((DataGridCheckBoxColumn)cell.Column).Binding
as Binding;
}
else if (cell.Column is DataGridComboBoxColumn)
{
binding
= ((DataGridComboBoxColumn)cell.Column).SelectedValueBinding
as Binding;

if (binding == null)
{
binding
= ((DataGridComboBoxColumn)cell.Column).SelectedItemBinding
as Binding;
}
}

if (binding != null)
{
var propertyName = binding.Path.Path;
var propInfo = boundItem.GetType().GetProperty(propertyName);
return propInfo.GetValue(boundItem, new object[] {});
}

return null;
}

关于c# - 如何获取 dataGrid1_BeginningEdit 事件中数据网格单元格的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7756900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com