Merge two Columns into one in RDLC Report in ASP.Net using C# and VB.Net

rakibxl
 
on Nov 11, 2018 11:25 PM
Sample_134685.zip
8712 Views

I have already two tablix and the data is showing perfectly.But now i want to use one dataset and one tablix for showing all the data in one tablix.Can you help

Download FREE API for Word, Excel and PDF in ASP.Net: Download
pandeyism
 
on Nov 12, 2018 12:54 AM
on Nov 12, 2018 12:55 AM

Hi rakibxl,

Please refer below sample.

Database

For this sample I have used of NorthWind database that you can download using the link given below.

Download Northwind Database

HTML

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="600">
</rsweb:ReportViewer>

Namespaces

C#

using System.Configuration;
using System.Data.SqlClient;
using Microsoft.Reporting.WebForms;

VB.Net

Imports System.Data
Imports System.Configuration
Imports System.Data.SqlClient
Imports Microsoft.Reporting.WebForms

Code

C#

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        ReportViewer1.ProcessingMode = ProcessingMode.Local;
        ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report.rdlc");
        Employees dsEmployees = GetData("select top 20 * from employees");
        ReportDataSource datasource = new ReportDataSource("Employees", dsEmployees.Tables[0]);
        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.DataSources.Add(datasource);
    }
}

private Employees GetData(string query)
{
    string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    SqlCommand cmd = new SqlCommand(query);
    using (SqlConnection con = new SqlConnection(conString))
    {
        using (SqlDataAdapter sda = new SqlDataAdapter())
        {
            cmd.Connection = con;
            sda.SelectCommand = cmd;
            using (Employees dsEmployees = new Employees())
            {
                sda.Fill(dsEmployees, "DataTable1");
                return dsEmployees;
            }
        }
    }
}

VB.Net

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Not IsPostBack Then
        ReportViewer1.ProcessingMode = ProcessingMode.Local
        ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report.rdlc")
        Dim dsEmployees As Employees = GetData("select top 20 * from employees")
        Dim datasource As New ReportDataSource("Employees", dsEmployees.Tables(0))
        ReportViewer1.LocalReport.DataSources.Clear()
        ReportViewer1.LocalReport.DataSources.Add(datasource)
    End If
End Sub

Private Function GetData(query As String) As Employees
    Dim conString As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Dim cmd As New SqlCommand(query)
    Using con As New SqlConnection(conString)
        Using sda As New SqlDataAdapter()
            cmd.Connection = con
            sda.SelectCommand = cmd
            Using dsEmployees As New Employees()
                sda.Fill(dsEmployees, "DataTable1")
                Return dsEmployees
            End Using
        End Using
    End Using
End Function

For merging multiple columns refer below -

Right click on cell and go to expression and write below line of code-

=Fields!LastName.Value & " " & Fields!FirstName.Value