Filtering and Sorting Record With DataTable

Posted at : Jun/13/2007
7601 Views | 6 Comments

Seperti yang telah kita ketahui sebelumnya bahwa Crystal Reports dapat menampilkan data yang diambil dari berbagai sumber data seperti DataSet, DataTable, DataReader, dan class yang implement IEnumerable. Pada artikel kali ini saya akan memperlihatkan contoh bagaimana caranya kita dapat melakukan filtering data dan sorting pada Crystal Report dengan menggunakan DataTable.

Sebenarnya simple sekali, karena DataTable sudah mempunyai properti yang return valuenya berupa DataView. Dari DataView tersebut kita gunakan properti RowFilter untuk filtering record dan Sorting untuk mengurutkan data berdasarkan kolom tertentu.

Contoh report yang dibuat ini mengambil data dari database AdventureWorks untuk view Sales.vIndividualCustomer untuk beberapa kolom yang dapat anda lihat di code. Kemudian di form tersebut disediakan combobox untuk filtering dan sorting record. Mari kita lihat saja code lengkapnya dan screen shot ketika aplikasi tersebut dijalankan.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace CrystalReportsApp
{
public partial class frmReport : Form {

DataTable dtSales = new DataTable();
rptSortByCR rpt = new rptSortByCR();

public frmReport()
{
InitializeComponent();
}

private void SetReportDataSource()
{
using(SqlConnection sqlConn = new SqlConnection(
@"Database=AdventureWorks;Uid=sa;Pwd=sql2005;Server=.\SQL2005"))
{
using (SqlCommand sqlCmd = new SqlCommand())
{
sqlCmd.CommandType = CommandType.Text;
sqlCmd.Connection = sqlConn;
sqlCmd.CommandText = "Select CustomerID,FirstName," +
"Phone,City,CountryRegionName From Sales.vIndividualCustomer";

if (sqlConn.State == ConnectionState.Closed) sqlConn.Open();
dtSales.Load(sqlCmd.ExecuteReader());

rpt.SetDataSource(dtSales);
crystalReportViewer1.ReportSource = rpt;

DataTable dtCountry = new DataTable("distinctCountry");
dtCountry = dtSales.DefaultView.ToTable(true,
dtSales.Columns["countryregionname"].ColumnName);
cboCountry.DataSource = dtCountry;
cboCountry.DisplayMember = "countryregionname";

foreach (DataColumn aColumn in dtSales.Columns)
{
cboSort.Items.Add(aColumn.ColumnName);
}
}
}
}
private void frmReport_Load(object sender, EventArgs e)
{
SetReportDataSource();
}

private void btnSearch_Click(object sender, EventArgs e)
{
dtSales.DefaultView.RowFilter = "CountryRegionName = '" +
cboCountry.Text + "'";
rpt.SetDataSource(dtSales.DefaultView);
crystalReportViewer1.ReportSource = rpt;
}

private void btnSort_Click(object sender, EventArgs e)
{
dtSales.DefaultView.Sort = cboSort.Text;
rpt.SetDataSource(dtSales.DefaultView);
crystalReportViewer1.ReportSource = rpt;
}

}
}
 

 


[Comments]

reza (May/24/2009 03:20:46)
mas, sebenernya cara buat report gimana sih... aku pake VS c#2005, database mysql... ampe skrg aku masih bingung buat itu
Marco (Jul/06/2009 09:03:36)
Iya, kalo aku pake database SQL Server 2005, dengan Visual Studio 2005. Tapi gimana cara bikin report pake Crystal Report dengan coding query manual ya?
ali (Feb/12/2013 11:12:19)

mas,ada yang buat VB2010 ap ga?

Rully (Feb/15/2013 09:30:32)

 Ali > Prinsipnya sama mas, ga beda kok :) kalau bahasa di internet banyak converternya :)

agus (Oct/30/2016 01:57:51)

 mas saya error di rpt nya. rpt nya dapet dari mna??

 

Rully (Nov/04/2016 11:11:38)

Agus : File rpt nya tentunya dibuat terlebih dahulu mas melalui crystal reports :)


[Write your comment]

Name (required)

Email (required-will not published)

Comment
QNPO
Input code above below (Case Sensitive) :

ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Founder & IT Trainer Native Enterprise | MCT (2008-2019) | MVP (2009-2016) | Xamarin Certified Professional | MTA | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.

[Read More...]

TOP DOWNLOAD

Mapping Hak Akses User Pada MenuStrip Sampai Control Button
downloaded 6982 times

Bagaimana caranya menginstal database ketika deploying sebuah aplikasi?
downloaded 4893 times

Simple Voice Engine Application With Sound Player Class...
downloaded 4045 times

Change Group,Sort Order, Filtering By Date in Crystal Reports
downloaded 3460 times

WinForms DataGrid Paging With SqlDataAdapter
downloaded 2881 times


LINKS

CERTIFICATIONS

Xamarin Certified
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  Facebook  Instagram  LinkedIn   Twitter

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2024   Rully Yulian MF   All rights reserved.