I am not understand your code, but i know how we display data in crystal report by small code.
here are sample.
First step. u need to create a new file of dataset (.xsd), give it name like dataset1.
In this dataset u make the all colum which u want to display.
2nd step: add a new crystal report file give it name crystalreport1
in field Explorer->datbasefiled->databaseexpert->projectdata->ado.net dataset
then select dataset1, which u maked in 1st step. drag drop ur colum from fileexploer to crystal report.
3rd step: in a form u add crystalreportviwer suppose it's name is crystalreportvier1
write the below code on formload event of form on which u take crystalreportview1
SqlConnection con = new SqlConnection("connection string");
string query = "Your query";
SqlDataAdapter da = new SqlDataAdapter(query, con);
DataSet1 ds1 = new DataSet1();
da.Fill(ds1.Tables.Add("Items"));
CrystalReport1 objRpt = new CrystalReport1();
objRpt.SetDataSource(ds1.Tables["Items"]);
crystalReportViewer1.ReportSource = objRpt;
crystalReportViewer1.Refresh();