DataBindingとは? わかりやすく解説

DataBinding クラス

Microsoft Visual Studio などの RAD (Rapid Application Development) デザイナデザイン時にデータ バインディング式を作成できるようにする ASP.NET サーバー コントロール単一データ バインディングに関する情報格納します。このクラス継承できません。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 DataBinding
public sealed class DataBinding
public ref class DataBinding sealed
public final class DataBinding
解説解説
使用例使用例

DataBinding オブジェクト作成しpropertyName パラメータの値が Text である、コントロールDataBindingCollection コレクション既存オブジェクト同じようにこのオブジェクト設定する例を次に示しますpropertyName の値が TextDataBinding オブジェクトコレクション含まれている場合、このコードは、オブジェクトExpression プロパティの値を返しますそのようなオブジェクトない場合は、空の文字列 ("") が返されます。

' Create the custom class that accesses the DataBinding and
' DataBindingCollection classes at design time.

Public Class SimpleDesigner
    Inherits System.Web.UI.Design.ControlDesigner
    ' Create a Text property with accessors that obtain 
    ' the property value from and set the property value
    ' to the Text key in the DataBindingCollection class.

    Public Property [Text]() As
 String
        Get
            Dim myBinding As DataBinding =
 DataBindings("Text")
            If Not (myBinding Is
 Nothing) Then
                Return myBinding.Expression
            End If
            Return String.Empty
        End Get
        Set(ByVal value As
 String)

            If value Is Nothing
 OrElse value.Length = 0 Then
                DataBindings.Remove("Text")
            Else

                Dim binding As DataBinding
 = DataBindings("Text")

                If binding Is Nothing
 Then
                    binding = New DataBinding("Text",
 GetType(String), value)
                Else
                    binding.Expression = value
                End If
                ' Call the DataBinding constructor, then add
                ' the initialized DataBinding object to the 
                ' DataBindingCollection for this custom designer.
                Dim binding1 As DataBinding
 = CType(DataBindings.SyncRoot, DataBinding)
                DataBindings.Add(binding)
                DataBindings.Add(binding1)
            End If
            PropertyChanged("Text")
        End Set
    End Property

    Protected Sub PropertyChanged(ByVal
 propName As String)
        Dim myHtmlControlDesignBehavior As
 IControlDesignerTag = Me.Tag
        Dim myDataBindingCollection As DataBindingCollection
        Dim myDataBinding1, myDataBinding2 As
 DataBinding
        Dim myStringReplace1, myDataBindingExpression1, removedBinding,
 removedBindingAfterReplace, myDataBindingExpression2, myStringReplace2 As
 [String]
        Dim removedBindings1(), removedBindings2() As
 String
        Dim temp As Int32

        If myHtmlControlDesignBehavior Is Nothing
 Then
            Return
        End If

        myDataBindingCollection = DataBindings
        ' Use the DataBindingCollection constructor to 
        ' create the myDataBindingCollection1 object.
        ' Then set this object equal to the
        ' DataBindings property of the control created
        ' by this custom designer.
        Dim myDataBindingCollection1 As New
 DataBindingCollection()
        myDataBindingCollection1 = DataBindings
        myDataBindingCollection = DataBindings
        If (myDataBindingCollection.Contains(propName)) Then
            myDataBinding1 = myDataBindingCollection(propName)
            myStringReplace1 = propName.Replace(".",
 "-")
            If myDataBinding1 Is Nothing
 Then
                myHtmlControlDesignBehavior.RemoveAttribute(myStringReplace1)
                Return
            End If
            ' DataBinding is not null.
            myDataBindingExpression1 = [String].Concat("<%#",
 myDataBinding1.Expression, "%>")
            myHtmlControlDesignBehavior.SetAttribute(myStringReplace1, myDataBindingExpression1)
            Dim index As Integer
 = myStringReplace1.IndexOf("-")
        Else
            ' Use the DataBindingCollection.RemovedBindings 
            ' property to set the value of the removedBindings
            ' arrays.
            removedBindings1 = DataBindings.RemovedBindings
            removedBindings2 = DataBindings.RemovedBindings
            temp = 0
            While removedBindings2.Length > temp
                removedBinding = removedBindings2(temp)
                removedBindingAfterReplace = removedBinding.Replace("."c,
 "-"c)
                myHtmlControlDesignBehavior.RemoveAttribute(removedBindingAfterReplace)
                temp = temp & 1
            End While
        End If
        ' Use the DataBindingCollection.GetEnumerator method
        ' to iterate through the myDataBindingCollection object
        ' and write the PropertyName, PropertyType, and Expression
        ' properties to a file for each DataBinding object
        ' in the MyDataBindingCollection object. 
        myDataBindingCollection = DataBindings
        Dim myEnumerator As IEnumerator = myDataBindingCollection.GetEnumerator()

        While myEnumerator.MoveNext()
            myDataBinding2 = CType(myEnumerator.Current, DataBinding)
            Dim dataBindingOutput1, dataBindingOutput2, dataBindingOutput3
 As [String]
            dataBindingOutput1 = [String].Concat("The property
 name is ", myDataBinding2.PropertyName)
            dataBindingOutput2 = [String].Concat("The property
 type is ", myDataBinding2.PropertyType.ToString(), "-",
 dataBindingOutput1)
            dataBindingOutput3 = [String].Concat("The expression
 is ", myDataBinding2.Expression, "-",
 dataBindingOutput2)
            WriteToFile(dataBindingOutput3)

            myDataBindingExpression2 = [String].Concat("<%#",
 myDataBinding2.Expression, "%>")
            myStringReplace2 = myDataBinding2.PropertyName.Replace(".",
 "-")
            myHtmlControlDesignBehavior.SetAttribute(myStringReplace2, myDataBindingExpression2)
            Dim index As Integer
 = myStringReplace2.IndexOf("-"c)
        End While ' while loop
 ends
    End Sub 'OnBindingsCollectionChanged
    Public Sub WriteToFile(ByVal
 input As String)
        ' The WriteToFile custom method writes
        ' the values of the DataBinding properties
        ' to a file on the C drive at design time.
        Dim myFile As StreamWriter = File.AppendText("C:\DataBindingOutput.txt")
        Dim encoder As New
 ASCIIEncoding()
        Dim ByteArray As Byte()
 = encoder.GetBytes(input)
        Dim CharArray As Char()
 = encoder.GetChars(ByteArray)
        myFile.WriteLine(CharArray, 0, input.Length)
        myFile.Close()
    End Sub 'WriteToFile
End Class 'SimpleDesigner
// Create the custom class that accesses the DataBinding and
// DataBindingCollection classes at design time.
public class SimpleDesigner : System.Web.UI.Design.ControlDesigner
{
    // Create a Text property with accessors that obtain 
    // the property value from and set the property value
    // to the Text key in the DataBindingCollection class.
    public string Text
    {
        get
        {
            DataBinding myBinding = DataBindings["Text"];
            if (myBinding != null)
            {
                return myBinding.Expression;
            }
            return String.Empty;
        }
        set
        {

            if ((value == null) || (value.Length
 == 0))
            {
                DataBindings.Remove("Text");
            }
            else
            {

                DataBinding binding = DataBindings["Text"];

                if (binding == null)
                {
                    binding = new DataBinding("Text",
 typeof(string), value);
                }
                else
                {
                    binding.Expression = value;
                }
                // Call the DataBinding constructor, then add
                // the initialized DataBinding object to the 
                // DataBindingCollection for this custom designer.
                DataBinding binding1 = (DataBinding)DataBindings.SyncRoot;
                DataBindings.Add(binding);
                DataBindings.Add(binding1);
            }
            PropertyChanged("Text");
        }
    }
    protected void PropertyChanged(string
 propName)
    {
        IControlDesignerTag myHtmlControlDesignBehavior = this.Tag;
        
        DataBindingCollection myDataBindingCollection;
        DataBinding myDataBinding1, myDataBinding2;
        String myStringReplace1, myDataBindingExpression1, removedBinding, removedBindingAfterReplace,
 myDataBindingExpression2, myStringReplace2;
        string[] removedBindings1, removedBindings2;
        Int32 temp;

        if (myHtmlControlDesignBehavior == null)
            return;
        // Use the DataBindingCollection constructor to 
        // create the myDataBindingCollection1 object.
        // Then set this object equal to the
        // DataBindings property of the control created
        // by this custom designer.
        DataBindingCollection myDataBindingCollection1 = new DataBindingCollection();
        myDataBindingCollection1 = myDataBindingCollection = DataBindings;
        if (myDataBindingCollection.Contains(propName))
        {
            myDataBinding1 = myDataBindingCollection[propName];
            myStringReplace1 = propName.Replace(".", "-");
            if (myDataBinding1 == null)
            {
                myHtmlControlDesignBehavior.RemoveAttribute(myStringReplace1);
                return;
            }
            // DataBinding is not null.
            myDataBindingExpression1 = String.Concat("<%#", myDataBinding1.Expression,
 "%>");
            myHtmlControlDesignBehavior.SetAttribute(myStringReplace1, myDataBindingExpression1);
            int index = myStringReplace1.IndexOf("-");
        }
        else
        {
            // Use the DataBindingCollection.RemovedBindings 
            // property to set the value of the removedBindings
            // arrays.
            removedBindings2 = removedBindings1 = DataBindings.RemovedBindings;
            temp = 0;
            while (removedBindings2.Length > temp)
            {
                removedBinding = removedBindings2[temp];
                removedBindingAfterReplace = removedBinding.Replace('.', '-');
                myHtmlControlDesignBehavior.RemoveAttribute(removedBindingAfterReplace);
                temp = temp + 1;
            }
        }
        // Use the DataBindingCollection.GetEnumerator method
        // to iterate through the myDataBindingCollection object
        // and write the PropertyName, PropertyType, and Expression
        // properties to a file for each DataBinding object
        // in the MyDataBindingCollection object. 
        myDataBindingCollection = DataBindings;
        IEnumerator myEnumerator = myDataBindingCollection.GetEnumerator();

        while (myEnumerator.MoveNext())
        {
            myDataBinding2 = (DataBinding)myEnumerator.Current;
            String dataBindingOutput1, dataBindingOutput2, dataBindingOutput3;
            dataBindingOutput1 = String.Concat("The property name is ",
 myDataBinding2.PropertyName);
            dataBindingOutput2 = String.Concat("The property type is ",
 myDataBinding2.PropertyType.ToString(), "-", dataBindingOutput1);
            dataBindingOutput3 = String.Concat("The expression is ", myDataBinding2.Expression,
 "-", dataBindingOutput2);
            WriteToFile(dataBindingOutput3);

            myDataBindingExpression2 = String.Concat("<%#", myDataBinding2.Expression,
 "%>");
            myStringReplace2 = myDataBinding2.PropertyName.Replace(".",
 "-");
            myHtmlControlDesignBehavior.SetAttribute(myStringReplace2, myDataBindingExpression2);
            int index = myStringReplace2.IndexOf('-');
        }// while loop ends
    }
    public void WriteToFile(string
 input)
    {
        // The WriteToFile custom method writes
        // the values of the DataBinding properties
        // to a file on the C drive at design time.
        StreamWriter myFile = File.AppendText("C:\\DataBindingOutput.txt");
        ASCIIEncoding encoder = new ASCIIEncoding();
        byte[] ByteArray = encoder.GetBytes(input);
        char[] CharArray = encoder.GetChars(ByteArray);
        myFile.WriteLine(CharArray, 0, input.Length);
        myFile.Close();
    }
}
// Create the custom class that accesses the DataBinding and
// DataBindingCollection classes at design time.
public class SimpleDesigner extends System.Web.UI.Design.ControlDesigner
{
    // Create a Text property with accessors that obtain 
    // the property value from and set the property value
    // to the Text key in the DataBindingCollection class.
    /** @property 
     */
    public String get_Text()
    {
        DataBinding myBinding = get_DataBindings().get_Item("Text");
        if (myBinding != null) {
            return myBinding.get_Expression();
        }
        return("");
    } //get_Text

    /** @property 
     */
    public void set_Text(String value)
    {
        if (value == null || value.get_Length()
 == 0) {
            get_DataBindings().Remove("Text");
        }
        else {
            DataBinding binding = get_DataBindings().get_Item("Text");
            if (binding == null) {
                binding = new DataBinding("Text", String.class.ToType(),
 value);
            }
            else {
                binding.set_Expression(value);
            }

            // Call the DataBinding constructor, then add
            // the initialized DataBinding object to the 
            // DataBindingCollection for this custom designer.
            DataBinding binding1 = (DataBinding)(get_DataBindings().
                get_SyncRoot());
            get_DataBindings().Add(binding);
            get_DataBindings().Add(binding1);
        }
        OnBindingsCollectionChanged("Text");
    } //set_Text

    // Override the OnBindingsCollectionChanged class to create
    // the data-binding expression and associate it with 
    // a property on the control created by the designer.
    protected void OnBindingsCollectionChanged(String
 propName)
    {
        IHtmlControlDesignerBehavior myHtmlControlDesignBehavior = 
            get_Behavior();
        DataBindingCollection myDataBindingCollection;
        DataBinding myDataBinding1, myDataBinding2;
        String myStringReplace1, myDataBindingExpression1, removedBinding, 
        removedBindingAfterReplace, myDataBindingExpression2, myStringReplace2;
        String removedBindings1[], removedBindings2[];
        int temp;

        if (myHtmlControlDesignBehavior == null)
 {
            return;
        }

        // Use the DataBindingCollection constructor to 
        // create the myDataBindingCollection1 object.
        // Then set this object equal to the
        // DataBindings property of the control created
        // by this custom designer.
        DataBindingCollection myDataBindingCollection1 = 
            new DataBindingCollection();
        myDataBindingCollection1 = (myDataBindingCollection = 
            get_DataBindings());

        if (propName != null) {
            myDataBinding1 = myDataBindingCollection.get_Item(propName);
            myStringReplace1 = propName.Replace(".", "-");
            if (myDataBinding1 == null) {
                myHtmlControlDesignBehavior.RemoveAttribute(myStringReplace1, 
                    true);
                return;
            }

            // DataBinding is not null.
            myDataBindingExpression1 = String.Concat("<%#", myDataBinding1.
                get_Expression(), "%>");
            myHtmlControlDesignBehavior.SetAttribute(myStringReplace1, 
                myDataBindingExpression1, true);
            int index = myStringReplace1.IndexOf("-");
        }
        else {
            // Use the DataBindingCollection.RemovedBindings 
            // property to set the value of the removedBindings
            // arrays.
            removedBindings2 = (removedBindings1 = get_DataBindings().
                get_RemovedBindings());

            temp = 0;
            while (removedBindings2.length > temp) {
                removedBinding = removedBindings2[temp];
                removedBindingAfterReplace = removedBinding.Replace('.', '-');
                myHtmlControlDesignBehavior.RemoveAttribute(
                    removedBindingAfterReplace, true);
                temp = temp + 1;
            }
        }

        // Use the DataBindingCollection.GetEnumerator method
        // to iterate through the myDataBindingCollection object
        // and write the PropertyName, PropertyType, and Expression
        // properties to a file for each DataBinding object
        // in the MyDataBindingCollection object. 
        myDataBindingCollection = get_DataBindings();
        IEnumerator myEnumerator = myDataBindingCollection.GetEnumerator();
        while (myEnumerator.MoveNext()) {
            myDataBinding2 = (DataBinding)(myEnumerator.get_Current());
            String dataBindingOutput1, dataBindingOutput2, dataBindingOutput3;
            dataBindingOutput1 = String.Concat("The property name is ",
 
                myDataBinding2.get_PropertyName());
            dataBindingOutput2 = String.Concat("The property type is ",
 
                myDataBinding2.get_PropertyType().ToString(), "-", 
                dataBindingOutput1);
            dataBindingOutput3 = String.Concat("The expression is ", 
                myDataBinding2.get_Expression(), "-", dataBindingOutput2);
            WriteToFile(dataBindingOutput3);
            myDataBindingExpression2 = String.Concat("<%#", myDataBinding2.
                get_Expression(), "%>");
            myStringReplace2 = myDataBinding2.get_PropertyName().
                Replace(".", "-");
            myHtmlControlDesignBehavior.SetAttribute(myStringReplace2, 
                myDataBindingExpression2, true);
            int index = myStringReplace2.IndexOf("-");
        } // while loop ends
    } //OnBindingsCollectionChanged
    
    public void WriteToFile(String input)
    {
        // The WriteToFile custom method writes
        // the values of the DataBinding properties
        // to a file on the C drive at design time.
        StreamWriter myFile = File.AppendText("C:\\DataBindingOutput.txt");
        ASCIIEncoding encoder = new ASCIIEncoding();
        ubyte byteArray[] = encoder.GetBytes(input);
        char charArray[] = encoder.GetChars(byteArray);
        myFile.WriteLine(charArray, 0, input.get_Length());
        myFile.Close();
    } //WriteToFile
継承階層継承階層
System.Object
  System.Web.UI.DataBinding
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataBinding メンバ
System.Web.UI 名前空間
DataBinder クラス
DataBindingCollection
IDataBindingsAccessor

DataBinding コンストラクタ

DataBinding クラス新しインスタンス初期化します。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    propertyName As String, _
    propertyType As Type, _
    expression As String _
)
Dim propertyName As String
Dim propertyType As Type
Dim expression As String

Dim instance As New DataBinding(propertyName,
 propertyType, expression)
public DataBinding (
    string propertyName,
    Type propertyType,
    string expression
)
public:
DataBinding (
    String^ propertyName, 
    Type^ propertyType, 
    String^ expression
)
public DataBinding (
    String propertyName, 
    Type propertyType, 
    String expression
)
public function DataBinding (
    propertyName : String, 
    propertyType : Type, 
    expression : String
)

パラメータ

propertyName

データ連結先のプロパティ

propertyType

データ連結先のプロパティ.NET Framework 型。

expression

評価されるデータ連結式。

使用例使用例

DataBinding オブジェクト作成しpropertyName パラメータの値が Text である、コントロールの DataBindingCollection コレクション既存オブジェクト同じようにこのオブジェクト設定する例を次に示しますpropertyName の値が TextDataBinding オブジェクトコレクション含まれている場合、このコードは、オブジェクトExpression プロパティの値を返しますそのようなオブジェクトない場合は、空の文字列 ("") が返されます。

' Create a Text property with accessors that obtain 
' the property value from and set the property value
' to the Text key in the DataBindingCollection class.

Public Property [Text]() As
 String
    Get
        Dim myBinding As DataBinding = DataBindings("Text")
        If Not (myBinding Is
 Nothing) Then
            Return myBinding.Expression
        End If
        Return String.Empty
    End Get
    Set(ByVal value As String)

        If value Is Nothing
 OrElse value.Length = 0 Then
            DataBindings.Remove("Text")
        Else

            Dim binding As DataBinding = DataBindings("Text")

            If binding Is Nothing
 Then
                binding = New DataBinding("Text",
 GetType(String), value)
            Else
                binding.Expression = value
            End If
            ' Call the DataBinding constructor, then add
            ' the initialized DataBinding object to the 
            ' DataBindingCollection for this custom designer.
            Dim binding1 As DataBinding = CType(DataBindings.SyncRoot,
 DataBinding)
            DataBindings.Add(binding)
            DataBindings.Add(binding1)
        End If
        PropertyChanged("Text")
    End Set
End Property

// Create a Text property with accessors that obtain 
// the property value from and set the property value
// to the Text key in the DataBindingCollection class.
public string Text
{
    get
    {
        DataBinding myBinding = DataBindings["Text"];
        if (myBinding != null)
        {
            return myBinding.Expression;
        }
        return String.Empty;
    }
    set
    {

        if ((value == null) || (value.Length
 == 0))
        {
            DataBindings.Remove("Text");
        }
        else
        {

            DataBinding binding = DataBindings["Text"];

            if (binding == null)
            {
                binding = new DataBinding("Text", typeof(string),
 value);
            }
            else
            {
                binding.Expression = value;
            }
            // Call the DataBinding constructor, then add
            // the initialized DataBinding object to the 
            // DataBindingCollection for this custom designer.
            DataBinding binding1 = (DataBinding)DataBindings.SyncRoot;
            DataBindings.Add(binding);
            DataBindings.Add(binding1);
        }
        PropertyChanged("Text");
    }
}
// Create a Text property with accessors that obtain 
// the property value from and set the property value
// to the Text key in the DataBindingCollection class.
/** @property 
 */
public String get_Text()
{
    DataBinding myBinding = get_DataBindings().get_Item("Text");
    if (myBinding != null) {
        return myBinding.get_Expression();
    }
    return("");
} //get_Text

/** @property 
 */
public void set_Text(String value)
{
    if (value == null || value.get_Length()
 == 0) {
        get_DataBindings().Remove("Text");
    }
    else {
        DataBinding binding = get_DataBindings().get_Item("Text");
        if (binding == null) {
            binding = new DataBinding("Text", String.class.ToType(),
 value);
        }
        else {
            binding.set_Expression(value);
        }

        // Call the DataBinding constructor, then add
        // the initialized DataBinding object to the 
        // DataBindingCollection for this custom designer.
        DataBinding binding1 = (DataBinding)(get_DataBindings().
            get_SyncRoot());
        get_DataBindings().Add(binding);
        get_DataBindings().Add(binding1);
    }
    OnBindingsCollectionChanged("Text");
} //set_Text
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataBinding クラス
DataBinding メンバ
System.Web.UI 名前空間
DataBinder クラス

DataBinding プロパティ


DataBinding メソッド


DataBinding メンバ

Microsoft Visual Studio などの RAD (Rapid Application Development) デザイナデザイン時にデータ バインディング式を作成できるようにする ASP.NET サーバー コントロール単一データ バインディングに関する情報格納します。このクラス継承できません。

DataBinding データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド DataBinding DataBinding クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DataBinding クラス
System.Web.UI 名前空間
DataBinder クラス
DataBindingCollection
IDataBindingsAccessor


このページでは「.NET Framework クラス ライブラリ リファレンス」からDataBindingを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDataBindingを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDataBindingを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DataBinding」の関連用語

DataBindingのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataBindingのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS