DataControlField.ExtractValuesFromCell Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Extrahiert den Wert des Datensteuerelement-Felds aus der aktuellen Tabellenzelle und fügt den Wert der angegebenen IDictionary-Auflistung hinzu.
public:
virtual void ExtractValuesFromCell(System::Collections::Specialized::IOrderedDictionary ^ dictionary, System::Web::UI::WebControls::DataControlFieldCell ^ cell, System::Web::UI::WebControls::DataControlRowState rowState, bool includeReadOnly);
public virtual void ExtractValuesFromCell (System.Collections.Specialized.IOrderedDictionary dictionary, System.Web.UI.WebControls.DataControlFieldCell cell, System.Web.UI.WebControls.DataControlRowState rowState, bool includeReadOnly);
abstract member ExtractValuesFromCell : System.Collections.Specialized.IOrderedDictionary * System.Web.UI.WebControls.DataControlFieldCell * System.Web.UI.WebControls.DataControlRowState * bool -> unit
override this.ExtractValuesFromCell : System.Collections.Specialized.IOrderedDictionary * System.Web.UI.WebControls.DataControlFieldCell * System.Web.UI.WebControls.DataControlRowState * bool -> unit
Public Overridable Sub ExtractValuesFromCell (dictionary As IOrderedDictionary, cell As DataControlFieldCell, rowState As DataControlRowState, includeReadOnly As Boolean)
Parameter
- dictionary
- IOrderedDictionary
- cell
- DataControlFieldCell
Eine DataControlFieldCell, die den Text oder die Steuerelemente von DataControlField enthält.
- rowState
- DataControlRowState
Einer der DataControlRowState-Werte.
- includeReadOnly
- Boolean
true
, um anzugeben, dass die Werte schreibgeschützter Felder in der dictionary
-Auflistung enthalten sind, andernfalls false
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die ExtractValuesFromCell -Methode für ein Steuerelement implementiert wird, das von der DataControlField -Klasse abgeleitet wird. Die RadioButtonField
-Klasse rendert ein datengebundenes Optionsfeld für jede Zeile in einem GridView Steuerelement. Wenn die ExtractValuesFromCell -Methode aufgerufen wird, versucht die -Methode zu bestimmen, ob der aktuelle Wert des in der RadioButton Zelle enthaltenen Objekts ausgewählt oder gelöscht wird, und fügt den Wert der IDictionary Auflistung hinzu. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die DataControlField-Klasse bereitgestellt wird.
// This method is called by the ExtractRowValues methods of
// GridView and DetailsView. Retrieve the current value of the
// cell from the Checked state of the Radio button.
public override void ExtractValuesFromCell(IOrderedDictionary dictionary,
DataControlFieldCell cell,
DataControlRowState rowState,
bool includeReadOnly)
{
// Determine whether the cell contains a RadioButton
// in its Controls collection.
if (cell.Controls.Count > 0) {
RadioButton radio = cell.Controls[0] as RadioButton;
object checkedValue = null;
if (null == radio) {
// A RadioButton is expected, but a null is encountered.
// Add error handling.
throw new InvalidOperationException
("RadioButtonField could not extract control.");
}
else {
checkedValue = radio.Checked;
}
// Add the value of the Checked attribute of the
// RadioButton to the dictionary.
if (dictionary.Contains(DataField))
dictionary[DataField] = checkedValue;
else
dictionary.Add(DataField, checkedValue);
}
}
' This method is called by the ExtractRowValues methods of
' GridView and DetailsView. Retrieve the current value of the
' cell from the Checked state of the Radio button.
Public Overrides Sub ExtractValuesFromCell( _
ByVal dictionary As IOrderedDictionary, _
ByVal cell As DataControlFieldCell, _
ByVal rowState As DataControlRowState, _
ByVal includeReadOnly As Boolean)
' Determine whether the cell contain a RadioButton
' in its Controls collection.
If cell.Controls.Count > 0 Then
Dim radio As RadioButton = CType(cell.Controls(0), RadioButton)
Dim checkedValue As Object = Nothing
If radio Is Nothing Then
' A RadioButton is expected, but a null is encountered.
' Add error handling.
Throw New InvalidOperationException( _
"RadioButtonField could not extract control.")
Else
checkedValue = radio.Checked
End If
' Add the value of the Checked attribute of the
' RadioButton to the dictionary.
If dictionary.Contains(DataField) Then
dictionary(DataField) = checkedValue
Else
dictionary.Add(DataField, checkedValue)
End If
End If
End Sub
Hinweise
Die ExtractValuesFromCell -Methode wird durch Typen implementiert, die von DataControlField abgeleitet werden, um das aktuelle Feld ggf. einem Wert zuzuordnen. Das Feld-Wert-Paar wird in der dictionary
Auflistung gespeichert, die an die -Methode übergeben wird. Die ExtractValuesFromCell -Methode wird von der ExtractRowValues
-Methode von Datensteuerelementen wie DetailsView und GridViewaufgerufen.
Rufen Sie diese Methode auf, wenn Sie ein benutzerdefiniertes datengebundenes Steuerelement schreiben, das Objekte verwendet DataControlFieldCell , um eine Reihe von Zellen und den zugehörigen Werten zusammenzustellen. Implementieren Sie diese Methode, wenn Sie eine von DataControlField abgeleitete Klasse schreiben, die Benutzerdaten oder datengebundene Daten anzeigt. Nicht alle abgeleiteten Typen implementieren die ExtractValuesFromCell -Methode, da nicht alle Felder Benutzerdaten anzeigen. Das Steuerelement zeigt z. ButtonField B. eine Schaltfläche an und enthält keine Benutzerdaten.