DataGrid.AutoGenerateColumns Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe ou define um valor que indica se BoundColumn os objetos são automaticamente criados e exibidos no DataGrid controlo de cada campo da fonte de dados.
public:
virtual property bool AutoGenerateColumns { bool get(); void set(bool value); };
public virtual bool AutoGenerateColumns { get; set; }
member this.AutoGenerateColumns : bool with get, set
Public Overridable Property AutoGenerateColumns As Boolean
Valor de Propriedade
true se BoundColumn os objetos forem criados e exibidos automaticamente; caso contrário, false. O valor predefinido é true.
Exemplos
O exemplo de código seguinte demonstra como usar a AutoGenerateColumns propriedade para criar automaticamente um BoundColumn objeto para cada campo na fonte de dados.
<%@ 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 language="C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
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)
{
if (!IsPostBack)
{
// Need to load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
</script>
<head runat="server">
<title>DataGrid AutoGenerateColumns Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid AutoGenerateColumns Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="true"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
</asp:DataGrid>
</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 language="VB" runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
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 New DataView(dt)
Return dv
End Function 'CreateDataSource
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
' Need to load this data only once.
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub 'Page_Load
</script>
<head runat="server">
<title>DataGrid AutoGenerateColumns Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid AutoGenerateColumns Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="true"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
</asp:DataGrid>
</form>
</body>
</html>
Observações
Use esta propriedade para criar automaticamente um BoundColumn objeto para cada campo na fonte de dados. Cada campo é então renderizado como uma coluna no DataGrid controlo, pela ordem em que os campos aparecem na fonte de dados.
Nem todos os tipos de dados podem ser ligados ao DataGrid controlo. Se um campo contiver um tipo de dado não suportado, não é criada uma coluna para esse campo. Se a fonte de dados contiver apenas uma coluna com um tipo de dado não suportado, é lançada uma exceção. A tabela seguinte mostra os tipos de dados que podem ser ligados ao controlo.
| Tipo de dados | Descrição |
|---|---|
| Primitivos | Um tipo de dado primitivo, como System.Int32, Char, Double, e assim sucessivamente. Para obter uma lista completa, consulte Type.IsPrimitive. |
| String | Um objeto System.String. |
| DateTime | Um objeto System.DateTime. |
| Decimal | Um objeto System.Decimal. |
Note
Colunas explicitamente declaradas podem ser usadas em conjunto com colunas geradas automaticamente. Ao usar ambas, as colunas explicitamente declaradas serão renderizadas primeiro, seguidas pelas colunas geradas automaticamente. Colunas geradas automaticamente não são adicionadas à Columns coleção.