DataControlField.ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean) メソッド

定義

現在のテーブル セルからデータ コントロール フィールドの値を抽出し、指定した IDictionary コレクションにその値を追加します。Extracts the value of the data control field from the current table cell and adds the value to the specified IDictionary collection.

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)

パラメーター

cell
DataControlFieldCell

DataControlFieldCell のテキストまたはコントロールを格納する DataControlFieldA DataControlFieldCell that contains the text or controls of the DataControlField.

rowState
DataControlRowState

DataControlRowState 値のいずれか 1 つ。One of the DataControlRowState values.

includeReadOnly
Boolean

dictionary コレクションに読み取り専用フィールドが含まれていることを示す場合は true。それ以外の場合は falsetrue to indicate that the values of read-only fields are included in the dictionary collection; otherwise, false.

ExtractValuesFromCellクラスから派生したコントロールに対してメソッドを実装する方法を次のコード例に示し DataControlField ます。The following code example demonstrates how to implement the ExtractValuesFromCell method for a control that derives from the DataControlField class. クラスは、 RadioButtonField コントロールのすべての行について、データバインドされたオプションボタンをレンダリングし GridView ます。The RadioButtonField class renders a data-bound radio button for every row in a GridView control. ExtractValuesFromCellメソッドが呼び出されると、メソッドは、 RadioButton セルに格納されているオブジェクトの現在の値が選択またはクリアされているかどうかを判断し、その値をコレクションに追加し IDictionary ます。When the ExtractValuesFromCell method is called, the method attempts to determine whether the current value of the RadioButton object contained in the cell is selected or cleared, and adds the value to the IDictionary collection. このコード例は、DataControlField クラスのために提供されている大規模な例の一部です。This code example is part of a larger example provided for the DataControlField class.

// 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

注釈

メソッドは、 ExtractValuesFromCell から派生した型によって実装され、 DataControlField 現在のフィールドを値と関連付けることができます (該当する場合)。The ExtractValuesFromCell method is implemented by types derived from DataControlField to associate the current field with a value, if applicable. フィールドと値のペアは、 dictionary メソッドに渡されるコレクションに格納されます。The field/value pair is stored in the dictionary collection that is passed to the method. メソッドは、 ExtractValuesFromCell ExtractRowValues やなどのデータコントロールのメソッドによって呼び出され DetailsView GridView ます。The ExtractValuesFromCell method is called by the ExtractRowValues method of data controls such as DetailsView and GridView.

オブジェクトを使用し DataControlFieldCell て一連のセルとそれらに関連付けられた値をアセンブルするカスタムデータバインドコントロールを作成する場合は、このメソッドを呼び出します。Call this method when you are writing a custom data-bound control that uses DataControlFieldCell objects to assemble a set of cells and their associated values. DataControlFieldユーザーデータまたはデータバインドデータを表示するから派生したクラスを作成する場合は、このメソッドを実装します。Implement this method when you are writing a class derived from DataControlField that displays user data or data-bound data. すべての ExtractValuesFromCell フィールドにユーザーデータが表示されるわけではないため、すべての派生型でメソッドが実装されるわけではありません。Not all derived types implement the ExtractValuesFromCell method, because not all fields display user data. たとえば、コントロールには ButtonField ボタンが表示され、ユーザーデータは含まれません。For example, the ButtonField control displays a button and has no user data.

適用対象

こちらもご覧ください