使用 DataGrid 控件可以将数据源的字段作为表中的列显示。DataGrid 控件中的每一行表示数据源中的一个记录。DataGrid 控件支持选择、编辑、删除、分页和排序。不同的列类型决定控件中各列的行为。下表列出了可以使用的不同列类型。列类型 描述 
BoundColumn  显示绑定到数据源中的字段的列。它以文本形式显示字段中的每个项。这是 DataGrid 控件的默认列类型。 
ButtonColumn  为列中每个项显示一个命令按钮。这使您可以创建一列自定义按钮控件,如 Add 按钮或 Remove 按钮。 
EditCommandColumn  显示一列,该列包含列中各个项的编辑命令。 
HyperLinkColumn  将列中各项的内容显示为超级链接。列的内容可以绑定到数据源或静态文本中的字段。 
TemplateColumn  按照指定的模板显示列中的各项。这使您可以在列中提供自定义控件。 默认情况下,AutoGenerateColumns 属性被设置为 true,为数据源中的每一个字段创建一个 BoundColumn 对象。每个字段然后作为 DataGrid 控件中的列呈现,其顺序同于每一字段在数据源中出现的顺序。您还可以手动控制在 DataGrid 控件中显示哪些列,方法是首先将 AutoGenerateColumns 属性设置为 false,然后列出您要包括在开始和结束 <Columns> 标记之间的列。指定的列将以所列出的顺序添加到 Columns 集合中。这允许您以编程的方式控制 DataGrid 控件中的列。注意   列在 DataGrid 控件中显示的顺序由列在 Columns 集合中出现的顺序控制。尽管您可以通过操作 Columns 集合以编程方式更改列的顺序,但以所需的显示顺序列出列更为容易。
显式声明的列可与自动生成的列一起显示。当同时使用这二者时,首先呈现的是显式声明的列,其后是自动生成的列。注意   自动生成的列不会添加到 Columns 集合中。
可以通过为 DataGrid 控件的不同部分设置样式属性来自定义该控件的外观。下表列出了不同的样式属性。样式属性 描述 
AlternatingItemStyle  指定 DataGrid 控件中交替项的样式。 
EditItemStyle  指定 DataGrid 控件中正在编辑的项的样式。 
FooterStyle  指定 DataGrid 控件中脚注部分的样式。 
HeaderStyle  指定 DataGrid 控件中页眉节的样式。 
ItemStyle  指定 DataGrid 控件中项的样式。 
PagerStyle  指定 DataGrid 控件中页选择节的样式。 
SelectedItemStyle  指定 DataGrid 控件中选定项的样式。 也可以显示或隐藏控件的不同部分。下表列出控制显示或隐藏哪些部分的属性。属性 描述 
ShowFooter  显示或隐藏 DataGrid 控件的脚注部分。 
ShowHeader  显示或隐藏 DataGrid 控件的页眉节。 您可以控制 DataGrid 控件的外观,方法是以编程的方式将属性添加到浏览器上该控件呈现的 <td> 和 <tr> 标记中。可以通过编程的方式添加属性,方法是为 OnItemCreated 或 OnItemDataBound 事件提供事件处理程序中的代码。若要将属性添加到 <td> 标记,请首先获取 TableCell 对象,该对象表示您要将属性添加到其中的 DataGrid 控件中的单元格。可以使用传递到事件处理程序的 DataGridItemEventArgs 对象的 Item 属性的 Control.Controls 集合来获取所需的 TableCell 对象。然后可以使用 TableCell 对象的 Attributes 集合的 AttributeCollection.Add 方法将属性添加到 <td> 标记。若要将属性添加到 <tr> 标记,请首先获取 DataGridItem 对象,该对象表示您要将属性添加到其中的 DataGrid 控件中的行。可以使用传递到事件处理程序的 DataGridItemEventArgs 对象的 Item 属性获取所需的 DataGridItem 对象。然后可以使用 DataGridItem 对象的 Attributes 集合的 AttributeCollection.Add 方法来将属性添加到 <tr> 标记。警告   此控件可用来显示用户输入,而该输入可能包含恶意的客户端脚本。在应用程序中显示从客户端发送来的任何信息之前,请检查它们是否包含可执行脚本、SQL 语句或其他代码。ASP.NET 提供输入请求验证功能以阻塞用户输入中的脚本和 HTML。还提供验证服务器控件以判断用户输入。有关更多信息,请参见验证服务器控件。

解决方案 »

  1.   

    示例
    [Visual Basic, C#, JScript] 下面的示例展示如何使用 DataGrid 控件来显示数据源中的项。
    [Visual Basic] 
    <%@ Page Language="VB" AutoEventWireup="True" %>
    <%@ Import Namespace="System.Data" %>
     
    <html>
       <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
                ' Load this data only once.
                ItemsGrid.DataSource = CreateDataSource()
                ItemsGrid.DataBind()
            End If
        End Sub 'Page_Load
     
      </script>
     
    <body>
     
       <form runat=server>
     
          <h3>DataGrid 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>
      

  2.   


     看MS的例子Duwamish7吧,很多国内所谓的大型项目和它比都是**,看懂理解它找个工作不是问题。
    Duwamish7在vs.net安装目录\Enterprise Samples
      

  3.   


     抢个一楼不容易啊! 哈哈~~~ 在送一个:
     http://community.csdn.net/Expert/topic/3118/3118642.xml?temp=.2306787
      

  4.   

    下面的示例展示如何使用 DataList 控件来显示来自数据源的项的列表。
    [Visual Basic, C#] 注意   以下代码示例使用单文件代码模型,当它直接复制到代码隐藏文件时可能不能正常工作。此代码示例必须被复制到具有 .aspx 扩展名的空文本文件中。有关 Web 窗体代码模型的更多信息,请参见 Web 窗体代码模型。
    [Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %>
    <%@ Import Namespace="System.Data" %>
     
    <html>
       <script runat="server">
     
          Function CreateDataSource() As ICollection 
          
             ' Create sample data for the DataList 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)))
             dt.Columns.Add(New DataColumn("ImageValue", GetType(String)))
     
             ' Populate the table with sample values.
             Dim i As Integer         For i = 0 To 8             dr = dt.NewRow()
     
                dr(0) = i
                dr(1) = "Description for item " & i.ToString()
                dr(2) = 1.23 * (i + 1)
                dr(3) = "Image" & i.ToString() & ".jpg"
     
                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 
         
                ItemsList.DataSource = CreateDataSource()
                ItemsList.DataBind()
             
             End If      End Sub
     
       </script>
     
    <body>
     
       <form runat=server>      <h3>DataList Example</h3>
     
          <asp:DataList id="ItemsList"
               BorderColor="black"
               CellPadding="5"
               CellSpacing="5"
               RepeatDirection="Vertical"
               RepeatLayout="Table"
               RepeatColumns="3"
               ShowBorder="True"
               runat="server">         <HeaderStyle BackColor="#aaaadd">
             </HeaderStyle>         <AlternatingItemStyle BackColor="Gainsboro">
             </AlternatingItemStyle>         <HeaderTemplate>            List of items         </HeaderTemplate>
                   
             <ItemTemplate>            Description: <br>
                <%# DataBinder.Eval(Container.DataItem, "StringValue") %>            <br>            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>            <br>            <asp:Image id="ProductImage"
                     ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                     runat="server"/>         </ItemTemplate>
     
          </asp:DataList>
     
       </form>
     
    </body>
    </html>
      

  5.   

    快速入门中的代码范例很好
    http://chs.gotdotnet.com/quickstart/aspplus/doc/quickstart.aspx
      

  6.   

    MSDN例子太多了,动手找找
    http://www.microsoft.com/taiwan/msdn/library/2002/Feb-2002/whitepaper/vbtchtopquestionsaboutaspnetdatagridservercontrol.htm#vbtchtopquestionsaboutaspnetdatagridservercontrolshowingandhidingcolumnsdynamicallyhttp://msdn.microsoft.com/msdnmag/issues/03/10/CuttingEdge/default.aspxhttp://www.datagridgirl.com
      

  7.   

    默认情况下,AutoGenerateColumns 属性被设置为 true,为数据源中的每一个字段创建一个 BoundColumn 对象。每个字段然后作为 DataGrid 控件中的列呈现,其顺序同于每一字段在数据源中出现的顺序。您还可以手动控制在 DataGrid 控件中显示哪些列,方法是首先将 AutoGenerateColumns 属性设置为 false,然后列出您要包括在开始和结束 <Columns> 标记之间的列。指定的列将以所列出的顺序添加到 Columns 集合中。这允许您以编程的方式控制 DataGrid 控件中的列。注意   列在 DataGrid 控件中显示的顺序由列在 Columns 集合中出现的顺序控制。尽管您可以通过操作 Columns 集合以编程方式更改列的顺序,但以所需的显示顺序列出列更为容易。
    显式声明的列可与自动生成的列一起显示。当同时使用这二者时,首先呈现的是显式声明的列,其后是自动生成的列。注意   自动生成的列不会添加到 Columns 集合中。
    可以通过为 DataGrid 控件的不同部分设置样式属性来自定义该控件的外观。下表列出了不同的样式属性。样式属性 描述 
    AlternatingItemStyle  指定 DataGrid 控件中交替项的样式。 
    EditItemStyle  指定 DataGrid 控件中正在编辑的项的样式。 
    FooterStyle  指定 DataGrid 控件中脚注部分的样式。 
    HeaderStyle  指定 DataGrid 控件中页眉节的样式。 
    ItemStyle  指定 DataGrid 控件中项的样式。 
    PagerStyle  指定 DataGrid 控件中页选择节的样式。 
    SelectedItemStyle  指定 DataGrid 控件中选定项的样式。 也可以显示或隐藏控件的不同部分。下表列出控制显示或隐藏哪些部分的属性。属性 描述 
    ShowFooter  显示或隐藏 DataGrid 控件的脚注部分。 
    ShowHeader  显示或隐藏 DataGrid 控件的页眉节。 
      

  8.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=54F4C732-AAE2-4135-FB1B-7B4B613BAA33
    http://dotnet.aspx.cc/ShowDetail.aspx?id=D5C6E29D-99F5-44E8-4FED-75AF892A53CB
    http://dotnet.aspx.cc/ShowDetail.aspx?id=C0B53A2D-EF45-4E07-9C95-2849700F32A8
    http://dotnet.aspx.cc/ShowDetail.aspx?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459
    http://dotnet.aspx.cc/ShowDetail.aspx?id=47DD34FD-ED0B-4455-94E8-CD9F63E19893