DataControlField.ExtractValuesFromCell Yöntem

Tanım

Geçerli tablo hücresinden veri denetimi alanının değerini ayıklar ve değeri belirtilen IDictionary koleksiyona ekler.

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)

Parametreler

cell
DataControlFieldCell

DataControlFieldCell metnini veya denetimlerini içeren birDataControlField.

rowState
DataControlRowState

Değerlerden DataControlRowState biri.

includeReadOnly
Boolean

true salt okunur alanların değerlerinin koleksiyona dictionary dahil olduğunu belirtmek için; aksi takdirde , false.

Örnekler

Aşağıdaki kod örneği, sınıfından ExtractValuesFromCell türetilen bir denetim için yönteminin DataControlField nasıl uygulandığını gösterir. sınıfı, RadioButtonField bir denetimdeki her satır için veriye bağlı bir GridView radyo düğmesi işler. ExtractValuesFromCell yöntemi çağrıldığında, yöntem hücrede bulunan nesnenin geçerli değerinin RadioButton seçili mi yoksa temizlenmiş mi olduğunu belirlemeye çalışır ve değeri koleksiyona IDictionary ekler. Bu kod örneği, sınıfı için DataControlField sağlanan daha büyük bir örneğin parçasıdır.

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

Açıklamalar

ExtractValuesFromCell yöntemi, geçerli alanı varsa bir değerle ilişkilendirmek için türünden türetilen DataControlField türlerle uygulanır. Alan/değer çifti yöntemine dictionary geçirilen koleksiyonda depolanır. ExtractValuesFromCell yöntemi ve GridViewgibi DetailsView veri denetimlerinin yöntemi tarafından ExtractRowValues çağrılır.

Bir hücre kümesini ve ilişkili değerlerini bir araya getirmek için nesneleri kullanan DataControlFieldCell özel bir veriye bağlı denetim yazarken bu yöntemi çağırın. Kullanıcı verilerini veya veriye bağlı verileri görüntüleyen öğesinden DataControlField türetilmiş bir sınıf yazarken bu yöntemi uygulayın. Tüm alanlar kullanıcı verilerini görüntülemediğinden türetilen tüm türler yöntemini uygulamaz ExtractValuesFromCell . Örneğin, ButtonField denetim bir düğme görüntüler ve kullanıcı verileri yoktur.

Şunlara uygulanır

Ayrıca bkz.