Visual Basic .NET kullanarak ASP.NET'da DataGrid için özet satırı oluşturma

Bu adım adım makalede, Visual Basic .NET kullanılarak ASP.NET'da DataGrid denetimi için özet satırı oluşturma adımları açıklanmaktadır.

Orijinal ürün sürümü: Visual Basic .NET
Özgün KB numarası: 313154

Özet

Bu makalede bir Visual Basic .NET projesi oluşturacak, Northwind veritabanından Sales Totals by Amount adlı görünüme erişmek için kod ekleyecek ve ardından Sales Totals by Amount görünümünü DataGrid'e bağlayacaksınız. Bu örnek, Verileri DataGrid'e bağladığınızda SaleAmount alanının toplamını almak için DataGrid olayını kullanır ItemDataBound . Bu örnek, özeti veya toplamları görüntülemek için DataGrid'in alt bilgisini de kullanır.

Bu makale, Microsoft .NET Framework Sınıf Kitaplığı ad alanını System.Data.SqlClientifade eder.

Not

Bu makalenin Microsoft Visual C# .NET sürümü için bkz. 326339.

Gereksinimler

Aşağıdaki listede önerilen donanım, yazılım, ağ altyapısı ve gerekli hizmet paketleri özetlenmiştir:

  • Microsoft Windows
  • Microsoft .NET Framework
  • Microsoft Visual Studio .NET
  • Microsoft Internet Information Services (IIS)
  • Microsoft SQL Server 7.0 veya üzeri ve Northwind veritabanı

Not

Northwind veritabanı SQL sServer 7.0 ve sonraki sürümlere dahildir.

Visual Basic .NET projesi oluşturma ve DataGrid'i ekleme

Bu bölümde bir Visual Basic .NET projesi oluşturacak, DataGrid için bir biçim seçecek ve ardından DataGrid'i alt bilgiyi görüntüleyecek şekilde ayarlayacaksınız. Özeti görüntülemek için alt bilgiyi kullandığınızdan, alt bilgiyi görüntülemeniz önemlidir.

Not

Varsayılan olarak ShowFooter özelliği kapalıdır.

  1. Visual Studio .NET'i başlatın. Visual Studio .NET IDE görüntülenir.

  2. Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklayın.

  3. Yeni Proje iletişim kutusunda, Proje Türleri'nin altında Visual Basic Projeleri'ne tıklayın ve ardından Şablonlar'ın altında Web Uygulaması'nı ASP.NET tıklayın.

  4. Yeni Proje iletişim kutusunda, Ad kutusunun kullanılamadığını (soluk göründüğüne) dikkat edin. Konum kutusu aşağıdaki metni (veya benzerini) içerir:
    http://localhost/WebApplication1

    Konumu olarak http://localhost/SummaryRowdeğiştirin ve tamam'a tıklayın. WebForm1.aspx adlı bir Web Formu içeren yeni bir proje oluşturulur.

  5. Çözüm Gezgini'da WebForm1.aspx çift tıklayın.

  6. DataGrid denetimini araç kutusundan forma sürükleyin.

  7. DataGrid denetimine sağ tıklayın ve ardından Otomatik Biçim'e tıklayın. Renkli 1'e ve ardından Tamam'a tıklayın.

  8. DataGrid denetimine sağ tıklayın ve ardından Özellikler'e tıklayın. Özellikler iletişim kutusunda ShowFooter özelliğinin değerini True olarak değiştirin.

Veritabanına erişmek için kod yazma

Bu bölümde, SalesAmount alanının özetini hesaplamak için Northwind veritabanında bulunan Tutara Göre Satış Toplamları görünümünü kullanırsınız. Tutara Göre Satış Toplamları görünümü Siparişler, ŞirketAdı ve SaleAmount alanlarını içerir.

  1. IDE'de Web Formu'na sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.

  2. Arka planda kod penceresinde, sayfanın en üstüne aşağıdaki kodu ekleyin:

    Imports System.Data
    Imports System.Data.SqlClient
    
  3. Sınıf bildirimi bölümüne aşağıdaki kodu ekleyin:

    Private myTotal As System.Double 'This variable tracks the running total.
    
  4. olaydaki Page_Load kodu aşağıdaki kodla değiştirin:

    Private Sub Page_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
        'Connect to the database, retrieve data, and then fill the data in the DataSet.
        Dim myConnection As New SqlConnection("server=(local)\netsdk;"Integrated Security=SSPI" & _
        pwd=;database=northwind")
        Dim myDataAdapter As New SqlDataAdapter("SELECT top 15 [OrderID], [CompanyName], " & _
        "[SaleAmount] FROM [Northwind].[dbo].[Sales Totals by Amount]", myConnection)
        Dim myDataSet As New DataSet()
        myDataAdapter.Fill(myDataSet)
        'Set the DataSource for the DataGrid, and then bind the data.
        DataGrid1.DataSource = myDataSet
        DataGrid1.DataBind()
    End Sub
    
  5. bağlantı dizesi ortamınıza uygun şekilde değiştirin.

ItemDataBound olayını kullanma

Olay ItemDataBound , bir öğe DataGrid denetimine bağlı veriler olduktan sonra oluşturulur. Bu olay, istemcide görüntülenmeden önce veri öğesine erişmeniz için size son fırsatı verir. Bu olay tetiklendiğinde veri öğesi null olur ve artık kullanılamaz.

Veriye bağlı olan her öğe için özelliğini denetlemeniz ItemType gerekir. veya AlternatingItemtüründeyse ItemTypeItem, öğenin SaleAmount değerini içeren son hücresinden değeri alırsınız. Bu örnekte, bu değeri çalışan özet değişkenine eklersiniz. ItemType olduğundaFooter, tüm satırlardan toplamı alırsınız. Bu nedenle, özet değişkeninin değerini son hücrenin metin değerine atarsınız.

Not

Bu kod, SaleAmount verileri için tekdüzen bir görünüm sağlamak için biçimlendirme ifadelerini kullanır.

Olaydan sonra Page_Load aşağıdaki kodu ekleyin:

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
    Select Case e.Item.ItemType
    Case ListItemType.AlternatingItem, ListItemType.Item
    'Calculate total for the field of each row and alternating row.
    myTotal += CDbl(e.Item.Cells(2).Text)
    'Format the data, and then align the text of each cell to the right.
    e.Item.Cells(2).Text = Format(CDbl(e.Item.Cells(2).Text), "##,##0.00")
    e.Item.Cells(2).Attributes.Add("align", "right")
    Case ListItemType.Footer
    'Use the footer to display the summary row.
    e.Item.Cells(1).Text = "Total Sales"
    e.Item.Cells(1).Attributes.Add("align", "left")
    e.Item.Cells(2).Attributes.Add("align", "right")
    e.Item.Cells(2).Text = myTotal.ToString("c")
    End Select
End Sub

Projeyi oluşturma ve kodu test etme

  1. Dosya menüsünde Tümünü Kaydet'e tıklayın.
  2. Derleme menüsünde Çözüm Oluştur'a tıklayın.
  3. Çözüm Gezgini'da, .aspx sayfasına sağ tıklayın ve ardından Tarayıcıda Görüntüle'ye tıklayın. .aspx sayfası tarayıcıda görünür ve DataGrid OrderID, CompanyName ve SaleAmount sütunlarını görüntüler. Alt bilgide SaleAmount sütununun toplamının görüntülendiğini görebilirsiniz.

Başvurular