I didn't have time to run through all of your code, but here is a sample I was able to get to work with your CSV file. You will just need to update the proxy URL and the CSV URL and it should work.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>Simple Map</title>
<link rel="stylesheet" href="http://js.arcgis.com/3.9/js/esri/css/esri.css">
<style>
html, body, #map {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
body {
background-color: #FFF;
overflow: hidden;
font-family: "Trebuchet MS";
}
</style>
<script src="http://js.arcgis.com/3.9/"></script>
<script>
var map, csv, textLayer;
require([
"esri/map",
"esri/layers/CSVLayer",
"esri/Color",
"esri/graphic",
"esri/layers/GraphicsLayer",
"esri/symbols/SimpleMarkerSymbol",
"esri/renderers/SimpleRenderer",
"esri/InfoTemplate",
"esri/urlUtils",
"esri/symbols/Font",
"esri/symbols/TextSymbol",
"dojo/on",
"dojo/_base/array",
"dojo/domReady!"
], function(
Map, CSVLayer, Color,
Graphic, GraphicsLayer,
SimpleMarkerSymbol, SimpleRenderer,
InfoTemplate, urlUtils, Font, TextSymbol,
on, array
) {
urlUtils.addProxyRule({
proxyUrl: "http://server1/proxy/proxy.ashx",
urlPrefix: "server1"
});
map = new Map("map", {
basemap: "gray",
center: [-81.874901, 35.824528],
zoom: 8
});
csv = new CSVLayer("http://server1/UserData/riverquery.csv");
csv.on("update-end", function(results){
textLayer = new GraphicsLayer();
array.forEach(results.target.graphics, function(feature, index){
var lid = feature.attributes.lid;
var value = feature.attributes.value;
var pe = feature.attributes.pe;
var ts = feature.attributes.ts;
var attr = {"Value":value,"PE":pe,"TS":ts};
var geom = feature.geometry;
var displayText = feature.attributes.lid;
var font = new Font(
"12pt",
Font.STYLE_NORMAL,
Font.VARIANT_NORMAL,
Font.WEIGHT_BOLD,
"Helvetica"
);
var textSymbol = new TextSymbol(
displayText,
font,
new Color("#DC143C")
);
textLayer.add(new Graphic(geom, textSymbol, attr));
});
var infoTemplate = new InfoTemplate("Attributes", "${*}");
textLayer.setInfoTemplate(infoTemplate);
map.addLayer(textLayer);
});
var blank = new Color([0, 0, 0, 0]); // hex is #ff4500
var marker = new SimpleMarkerSymbol("solid", 0, null, blank);
var renderer = new SimpleRenderer(marker);
csv.setRenderer(renderer);
map.addLayer(csv);
});
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>