DataControlField.ExtractValuesFromCell Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Extrait la valeur du champ de contrôle de données à partir de la cellule active du tableau et ajoute la valeur à la collection IDictionary spécifiée.
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)
Paramètres
- dictionary
- IOrderedDictionary
Élément IOrderedDictionary.
- cell
- DataControlFieldCell
DataControlFieldCell qui contient le texte ou les contrôles du DataControlField.
- rowState
- DataControlRowState
Une des valeurs de l'objet DataControlRowState.
- includeReadOnly
- Boolean
true
pour indiquer que les valeurs de champs en lecture seule sont incluses dans la collection dictionary
; sinon, false
.
Exemples
L’exemple de code suivant montre comment implémenter la ExtractValuesFromCell méthode pour un contrôle qui dérive de la DataControlField classe. La RadioButtonField
classe restitue une case d’option liée aux données pour chaque ligne d’un GridView contrôle. Lorsque la ExtractValuesFromCell méthode est appelée, la méthode tente de déterminer si la valeur actuelle de l’objet RadioButton contenu dans la cellule est sélectionnée ou effacée et ajoute la valeur à la IDictionary collection. Cet exemple de code fait partie d’un exemple plus grand fourni pour la DataControlField classe.
// 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
Remarques
La ExtractValuesFromCell méthode est implémentée par les types dérivés de DataControlField l’association du champ actuel à une valeur, le cas échéant. La paire champ/valeur est stockée dans la dictionary
collection passée à la méthode. La ExtractValuesFromCell méthode est appelée par la ExtractRowValues
méthode des contrôles de données tels que DetailsView et GridView.
Appelez cette méthode lorsque vous écrivez un contrôle personnalisé lié aux données qui utilise DataControlFieldCell des objets pour assembler un ensemble de cellules et leurs valeurs associées. Implémentez cette méthode lorsque vous écrivez une classe dérivée de DataControlField celle-ci qui affiche des données utilisateur ou des données liées aux données. Tous les types dérivés n’implémentent pas la ExtractValuesFromCell méthode, car tous les champs n’affichent pas les données utilisateur. Par exemple, le ButtonField contrôle affiche un bouton et n’a pas de données utilisateur.