다음을 통해 공유


BaseDataList.IsBindableType(Type) 메서드

정의

지정된 데이터 형식을 BaseDataList 클래스에서 파생된 목록 컨트롤에 바인딩할 수 있는지 여부를 결정합니다.

public:
 static bool IsBindableType(Type ^ type);
public static bool IsBindableType (Type type);
static member IsBindableType : Type -> bool
Public Shared Function IsBindableType (type As Type) As Boolean

매개 변수

type
Type

테스트할 데이터 형식이 들어 있는 Type입니다.

반환

Boolean

지정된 데이터 형식을 BaseDataList 클래스에서 파생된 목록 컨트롤에 바인딩할 수 있으면 true이고, 그렇지 않으면 false입니다.

예제

다음 코드 예제에서는 속성을 사용 하 여 IsBindableType 특정 데이터 형식의 값을 컨트롤에 바인딩할 수 있는지 여부를 결정 하는 DataGrid 방법을 보여 줍니다.


<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      DataView CreateDataSource() 
      {
      
         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
 
         // Load sample data only once when the page is first loaded.
         if (!IsPostBack) 
         {

            // Retrieve sample data.
            DataView Source = CreateDataSource();


            // Bind the data source to the DataGrid control if each column  
            // in the data source contains a data type that is compatible  
            // with the DataGrid; otherwise, display an error message. 
            if(ValidateSourceTypes(Source))
            {

               ItemsGrid.DataSource = Source;
               ItemsGrid.DataBind();

            }
            else
            {

               Message.Text = "The data source is not compatible with the DataGrid control.";

            }

         }

      }

      bool ValidateSourceTypes(DataView Source)
      {
       
         // Test the data type of each column in the data source to make 
         // sure it is compatible with the DataGrid control.

         // Initialize the success flag to true.
         bool Success = true;

         // Iterate through each column of the data source and test the 
         // data type for compatibility with the DataGrid control. 
         foreach(DataColumn column in Source.Table.Columns)
         {
            if(!BaseDataList.IsBindableType(column.DataType))
            {
               Success = false;
            }
         }

         return Success;

      }

   </script>
 
<head runat="server">
    <title>BaseDataList IsBindableType Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>BaseDataList IsBindableType Example</h3>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           GridLines="Both"
           AutoGenerateColumns="true"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle> 
 
      </asp:DataGrid>

      <br /><br />

      <asp:Label id="Message" 
           runat="server"/>       

   </form>
 
</body>
</html>

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      Function CreateDataSource() As ICollection 
      
         ' Create sample data for the DataGrid control.
         Dim dt As DataTable = New DataTable()
         Dim dr As DataRow
 
         ' Define the columns of the table.
         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("StringValue", GetType(string)))
         dt.Columns.Add(New DataColumn("CurrencyValue", GetType(double)))
 
         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 to 8 
        
            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 * (i + 1)
 
            dt.Rows.Add(dr)

         Next i
 
         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function
 
      Sub Page_Load(sender As Object, e As EventArgs) 
 
         ' Load sample data only once when the page is first loaded.
         If Not IsPostBack Then 
  
            ' Retrieve sample data.
            Dim Source As DataView = CreateDataSource()


            ' Bind the data source to the DataGrid control if each column in 
            ' the data source contains a data type that is compatible with the 
            ' DataGrid; Otherwise, display an error message. 
            If ValidateSourceTypes(Source) Then

               ItemsGrid.DataSource = Source
               ItemsGrid.DataBind()

            Else

               Message.Text = "The data source is not compatible with the DataGrid control."

            End If

         End If

      End Sub

      Function ValidateSourceTypes(Source As DataView) As Boolean
       
         ' Test the data type of each column in the data source to make 
         ' sure it is compatible with the DataGrid control.

         ' Initialize the success flag to True.
         Dim Success As Boolean = True

         ' Iterate through each column of the data source and test the 
         ' data type for compatibility with the DataGrid control.
         Dim column As DataColumn
           
         For Each column In Source.Table.Columns

            If Not BaseDataList.IsBindableType(column.DataType) Then
         
               Success = False
            
            End If

         Next

         Return Success

      End Function

   </script>
 
<head runat="server">
    <title>BaseDataList IsBindableType Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>BaseDataList IsBindableType Example</h3>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           GridLines="Both"
           AutoGenerateColumns="true"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle> 
 
      </asp:DataGrid>

      <br /><br />

      <asp:Label id="Message" 
           runat="server"/>       

   </form>
 
</body>
</html>

설명

정적 메서드를 IsBindableType 사용하여 지정된 데이터 형식을 클래스에서 BaseDataList 상속하는 목록 컨트롤에 바인딩할 수 있는지 여부를 확인합니다. 지원되는 데이터 형식은 System.Boolean, System.Byte,, System.SByte, System.UInt16System.Int16, System.Int32, System.UInt32System.Int64, System.UInt64, System.SingleSystem.DoubleSystem.DateTimeSystem.CharSystem.Decimal및 입니다.System.String

적용 대상

추가 정보