DataGridViewCell.EditedFormattedValue Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает текущее форматированное значение ячейки независимо от того, находится ли ячейка в режиме редактирования, и что значение не зафиксировано.
public:
property System::Object ^ EditedFormattedValue { System::Object ^ get(); };
[System.ComponentModel.Browsable(false)]
public object EditedFormattedValue { get; }
[System.ComponentModel.Browsable(false)]
public object? EditedFormattedValue { get; }
[<System.ComponentModel.Browsable(false)>]
member this.EditedFormattedValue : obj
Public ReadOnly Property EditedFormattedValue As Object
Значение свойства
Текущее форматированное значение ячейки DataGridViewCell.
- Атрибуты
Исключения
Содержащая ячейку строка является совместно используемой.
-или-
Ячейка является ячейкой заголовка столбца.
Значение ColumnIndex меньше 0, свидетельствующее о том, что ячейка является ячейкой заголовка строки.
Форматирование закончилось неудачей, и либо отсутствует обработчик для события DataError элемента управления DataGridView, либо обработчик установил для свойства ThrowException значение true
. Объект исключения обычно можно привести к типу FormatException.
Примеры
В следующем примере кода показано, как использовать EditedFormattedValue свойство . В этом примере свойство используется для определения того, IsCurrentCellDirty было ли содержимое текущей ячейки изменено и не зафиксировано, а если ячейка была изменена, используется измененное значение. Этот пример является частью более крупного примера, доступного в событии DataGridView.SelectionChanged .
private void UpdateLabelText()
{
int WithdrawalTotal = 0;
int DepositTotal = 0;
int SelectedCellTotal = 0;
int counter;
// Iterate through all the rows and sum up the appropriate columns.
for (counter = 0; counter < (DataGridView1.Rows.Count);
counter++)
{
if (DataGridView1.Rows[counter].Cells["Withdrawals"].Value
!= null)
{
if (DataGridView1.Rows[counter].
Cells["Withdrawals"].Value.ToString().Length != 0)
{
WithdrawalTotal += int.Parse(DataGridView1.Rows[counter].
Cells["Withdrawals"].Value.ToString());
}
}
if (DataGridView1.Rows[counter].Cells["Deposits"].Value != null)
{
if (DataGridView1.Rows[counter]
.Cells["Deposits"].Value.ToString().Length != 0)
{
DepositTotal += int.Parse(DataGridView1.Rows[counter]
.Cells["Deposits"].Value.ToString());
}
}
}
// Iterate through the SelectedCells collection and sum up the values.
for (counter = 0;
counter < (DataGridView1.SelectedCells.Count); counter++)
{
if (DataGridView1.SelectedCells[counter].FormattedValueType ==
Type.GetType("System.String"))
{
string value = null;
// If the cell contains a value that has not been commited,
// use the modified value.
if (DataGridView1.IsCurrentCellDirty == true)
{
value = DataGridView1.SelectedCells[counter]
.EditedFormattedValue.ToString();
}
else
{
value = DataGridView1.SelectedCells[counter]
.FormattedValue.ToString();
}
if (value != null)
{
// Ignore cells in the Description column.
if (DataGridView1.SelectedCells[counter].ColumnIndex !=
DataGridView1.Columns["Description"].Index)
{
if (value.Length != 0)
{
SelectedCellTotal += int.Parse(value);
}
}
}
}
}
// Set the labels to reflect the current state of the DataGridView.
Label1.Text = "Withdrawals Total: " + WithdrawalTotal.ToString();
Label2.Text = "Deposits Total: " + DepositTotal.ToString();
Label3.Text = "Selected Cells Total: " + SelectedCellTotal.ToString();
Label4.Text = "Total entries: " + DataGridView1.RowCount.ToString();
}
Private Sub UpdateLabelText()
Dim WithdrawalTotal As Integer = 0
Dim DepositTotal As Integer = 0
Dim SelectedCellTotal As Integer = 0
Dim counter As Integer
' Iterate through all the rows and sum up the appropriate columns.
For counter = 0 To (DataGridView1.Rows.Count - 1)
If Not DataGridView1.Rows(counter) _
.Cells("Withdrawals").Value Is Nothing Then
If Not DataGridView1.Rows(counter) _
.Cells("Withdrawals").Value.ToString().Length = 0 Then
WithdrawalTotal += _
Integer.Parse(DataGridView1.Rows(counter) _
.Cells("Withdrawals").Value.ToString())
End If
End If
If Not DataGridView1.Rows(counter) _
.Cells("Deposits").Value Is Nothing Then
If Not DataGridView1.Rows(counter) _
.Cells("Deposits").Value.ToString().Length = 0 Then
DepositTotal += _
Integer.Parse(DataGridView1.Rows(counter) _
.Cells("Deposits").Value.ToString())
End If
End If
Next
' Iterate through the SelectedCells collection and sum up the values.
For counter = 0 To (DataGridView1.SelectedCells.Count - 1)
If DataGridView1.SelectedCells(counter).FormattedValueType Is _
Type.GetType("System.String") Then
Dim value As String = Nothing
' If the cell contains a value that has not been commited,
' use the modified value.
If (DataGridView1.IsCurrentCellDirty = True) Then
value = DataGridView1.SelectedCells(counter) _
.EditedFormattedValue.ToString()
Else
value = DataGridView1.SelectedCells(counter) _
.FormattedValue.ToString()
End If
If value IsNot Nothing Then
' Ignore cells in the Description column.
If Not DataGridView1.SelectedCells(counter).ColumnIndex = _
DataGridView1.Columns("Description").Index Then
If Not value.Length = 0 Then
SelectedCellTotal += Integer.Parse(value)
End If
End If
End If
End If
Next
' Set the labels to reflect the current state of the DataGridView.
Label1.Text = "Withdrawals Total: " & WithdrawalTotal.ToString()
Label2.Text = "Deposits Total: " & DepositTotal.ToString()
Label3.Text = "Selected Cells Total: " & SelectedCellTotal.ToString()
Label4.Text = "Total entries: " & DataGridView1.RowCount.ToString()
End Sub
Комментарии
Это свойство возвращает текущее значение ячейки или элемента управления редактированием, если ячейка находится в режиме редактирования. В противном случае при получении значения этого свойства значение ячейки преобразуется в эквивалентное отображаемое значение типа, указанного свойством FormattedValueType . В результате возникает DataGridView.CellFormatting событие , которое можно обработать для настройки преобразования значений.
Если форматирование не удается, DataGridView.DataError возникает событие . Если обработчик для этого события отсутствует или обработчик задает DataGridViewDataErrorEventArgs.ThrowException для свойства true
значение , создается исключение.
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по