DataControlField.ExtractValuesFromCell Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- dictionary
- IOrderedDictionary
Bir IOrderedDictionary.
- 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.