BaseDataList.IsBindableType(Type) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Determina se il tipo di dati specificato può essere associato a un controllo elenco derivante dalla classe 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
Parametri
Restituisce
true
se il tipo di dati specificato può essere associato a un controllo elenco derivante dalla classe BaseDataList; in caso contrario, false
.
Esempio
Nell'esempio di codice seguente viene illustrato come usare la IsBindableType proprietà per determinare se i valori di un determinato tipo di dati possono essere associati a un DataGrid controllo.
<%@ 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>
Commenti
Usare il IsBindableType metodo statico per determinare se il tipo di dati specificato può essere associato a un controllo elenco che eredita dalla BaseDataList classe. I tipi di dati supportati sono System.Boolean, System.SByteSystem.Int16System.UInt32System.Int64System.Int32System.UInt64System.CharSystem.UInt16System.ByteSystem.SingleSystem.DateTimeSystem.DoubleSystem.Decimale .System.String
Si applica a
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per