繁体   English   中英

DataGridView CellValueChanged事件

[英]DataGridView CellValueChanged event

初始化带有DataGridView的Form,放置列标题文本时触发该事件。 因此,处理事件的函数在启动时会运行,与列数一样多。 我该如何停止它,并仅在用户在数据网格中进行某些更改后才触发它?

补充:从CellValueChanged更改为CellEndEdit似乎可以解决问题。

您是否尝试过使用数据网格的SelectionChanged属性在内容更改时触发事件?

<Grid>
<DataGrid> Name="TestDataGrid" SelectionChanged="DataGrid_EventName" />
</Grid>

在代码隐藏中,将捕获事件:

private void DataGrid_EventName(object sender, SelectionChangedEventArgs e)
{
  //Conduct work here
}

编辑:我很确定,您仍然需要初始化DataGrid。

例如,可以使用此事件从DataGrid中提取特定于行的信息:

private void DataGrid_EventName(object sender, SelectionChangedEventArgs e)
{
  DataGrid _dataGrid = (DataGrid)sender;
  DataRowView selectedRow = _dataGrid.SelectedItem as DataRowView;

  if (selectedRow != null)
  {
    RowItemList = new List<string>(); //List declared outside of this method...
    //add row information to the list
    RowItemList.Add(selectedRow.ToString());

    //or, get column-specific information
    string ColmnEntry = selectedRow[ColumnName].ToString();
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM