yes you can very much do it in many ways...
1) you can add multiple series (of type line in your case) on one chart area and you can loop thru your records and add data points to those series based on your type (use switch statement), i personally like to do it as below so that you can also customise various labels, apply diff. type of chart on series etc....
<br />
Series sA = new Series("Type A");<br />
sA.ChartType = SeriesChartType.Line;<br />
Series sB = new Series("Type B");<br />
sB.ChartType = SeriesChartType.Line;<br />
Series sC = new Series("Type C");<br />
sC.ChartType = SeriesChartType.Line;<br />
loop thru your records here {<br />
DataPoint p = new DataPoint();<br />
switch(type){<br />
case 'TypeA':<br />
p.SetValueXY()
sA.Points.Add(p);<br />
case 'TypeB':<br />
.....<br />
}<br />
}<br />
yourchart.Series.Add(sA);<br />
yourchart.Series.Add(sB);<br />
yourchart.Series.Add(sC);<br />
2) another way would be to do it by making and ienumerable type of your retrieved data (something like dictionary) and then bind or cross bind your datatable to these charts
do read this to know how you can directly bind the data to the chart:
http://blogs.msdn.com/b/alexgor/archive/2009/02/21/data-binding-ms-chart-control.aspx
This is a very nice explanation of databinding to charts, the third onwe is exactly your scenario
hope this helps.