Sachverhalt:
A. A._ wurde am 9. Oktober 2009 festgenommen wegen des Verdachts, mit rund 150 g Kokain gehandelt zu haben. Am 12. Oktober 2009 wurde er in Untersuchungshaft versetzt.
Am 19. Februar 2010 erhob die Staatsanwaltschaft beim Richteramt Olten-Gösgen Anklage gegen A._ und beantragte gleichentags dem Haftgericht, den Angeklagten in Sicherheitshaft zu versetzen.
Am 5. März 2010 ordnete das Haftgericht des Kantons Solothurn Sicherheitshaft gegen A._ ab dem 22. Februar 2010 an. Es kam zum Schluss, er sei des angeklagten Verbrechens gegen das Betäubungsmittelgesetz dringend verdächtig, und es bestehe Fluchtgefahr, die sich nicht durch mildere Ersatzmassnahmen beheben lasse. Die Haft sei auch verhältnismässig. Er befinde sich nunmehr seit etwa 5 Monaten in Haft, und müsse für den Fall einer Verurteilung mit einer Freiheitsstrafe in der Grössenordnung der von der Staatsanwaltschaft beantragten 17 Monaten rechnen.
B. Mit Beschwerde in Strafsachen beantragt A._, diesen Entscheid des Haftgerichts aufzuheben und ihn aus der Sicherheitshaft zu entlassen. Eventualiter sei die Einzelhaft aufzuheben. Zudem ersucht er, seiner Beschwerde aufschiebende Wirkung zuzuerkennen und ihm unentgeltliche Rechtspflege und Verbeiständung zu gewähren.
C. Der Präsident der I. öffentlich-rechtlichen Abteilung des Bundesgerichts wies das Gesuch um aufschiebende Wirkung am 9. April 2010 ab.
D. Die Staatsanwaltschaft beantragt, die Beschwerde abzuweisen. Das Haftgericht verzichtet auf Vernehmlassung.
A._ hält in seiner Replik an der Beschwerde fest.
Erwägungen:
1. Die Beschwerde in Strafsachen nach den Art. 78 ff. BGG ist gegeben. Der Antrag auf Aufhebung des angefochtenen Entscheids und Haftentlassung ist zulässig (BGE 132 I 21 E. 1). Die weiteren Sachurteilsvoraussetzungen geben zu keinen Bemerkungen Anlass, sodass auf die Beschwerde eingetreten werden kann.
2. 2.1 Sicherheitshaft darf nach solothurnischem Recht unter anderem angeordnet werden, wenn der Angeklagte einer mit Freiheitsstrafe bedrohten Tat dringend verdächtig ist und zudem Fluchtgefahr besteht (§ 43 Abs. 2 lit. a der Strafprozessordnung vom 7. Juni 1970 des Kantons Solothurn; StPO). Liegt ausser dem allgemeinen Haftgrund des dringenden Tatverdachts einer der besonderen Haftgründe - hier Fluchtgefahr - vor, steht einer Inhaftierung auch unter dem Gesichtspunkt der persönlichen Freiheit von Art. 10 Abs. 2 BV grundsätzlich nichts entgegen.
2.2 Die Anklage wirft dem Beschwerdeführer vor, anfangs Mai 2009 unter Vermittlung von B._ ein Drogengeschäft getätigt zu haben. Er soll dabei am 8. Mai 2009 in Trimbach ein Paket mit rund 150 g Kokain (Reinheitsgrad 33%) an C._ übergeben haben mit dem Auftrag, es gegen die Bezahlung von Fr. 7'500.-- an D._ weiterzugeben und ihm anschliessend den Kaufpreis auszuhändigen.
Der Beschwerdeführer wird unbestrittenermassen durch die Aussagen von B._ und C._ belastet. Da sich beide dadurch auch selbst belasten, sind ihre Aussagen jedenfalls nicht von vornherein unglaubhaft, selbst wenn sie in einzelnen Punkten nicht genau übereinstimmen sollten, wie der Beschwerdeführer geltend macht. Dass am sichergestellten Drogenpaket keine Spuren des Beschwerdeführers festgestellt wurden, vermag den Tatverdacht zwar nicht zu erhärten, kann ihn aber auch nicht zerstreuen. Das Fehlen dieser Spuren beweist nicht, dass der Beschwerdeführer das Drogenpaket nie in den Händen hielt. Die Annahme, der Beschwerdeführer sei aufgrund der zumindest im Kern übereinstimmenden Belastungen seiner beiden Mitbeschuldigten dringend tatverdächtig, ist jedenfalls nicht willkürlich.
2.3 Fluchtgefahr wird im angefochtenen Entscheid im Wesentlichen durch Verweis auf das Urteil des Haftgerichts vom 12. Oktober 2009 begründet. Danach verfügt der libanesische Beschwerdeführer über eine Aufenthaltsbewilligung B. Er hat eine Frau und eine Tochter im Kanton Luzern, weitere Bindungen an die Schweiz seien nicht ersichtlich. Er sei arbeitslos und werde vom Sozialamt unterstützt. Somit sei er weder beruflich noch sozial integriert. Für den Fall einer Verurteilung drohe ihm eine empfindliche Freiheitsstrafe, und er laufe Gefahr, dass seine Aufenthaltsbewilligung nicht verlängert werde. Er habe somit keine Zukunftsaussichten in der Schweiz, weshalb Fluchtgefahr zu bejahen sei.
Diese vom Beschwerdeführer nicht in Frage gestellten Umstände vermögen die Annahme von Fluchtgefahr durchaus zu begründen. Der Beschwerdeführer hält dem entgegen, dass er sich der Polizei freiwillig gestellt habe. Das mag zutreffen, nur kannte er damals die Tragweite der gegen ihn vorliegenden Belastungen noch nicht und vertraute möglicherweise darauf, nur als Zeuge oder wegen des Besitzes einer geringfügigen Menge Haschischs von der Polizei gesucht zu werden. Nicht ganz nachvollziehbar ist, weshalb der Umstand, dass der Beschwerdeführer siebenmal einen Arzt konsultierte, gegen die Annahme von Fluchtgefahr sprechen sollte.
2.4 Besteht somit Fluchtgefahr, ist unter dem Gesichtspunkt der Verhältnismässigkeit zu prüfen, ob sie nicht durch eine mildere Ersatzmassnahme gebannt werden kann. Ohne Weiteres beizupflichten ist dem Haftgericht, dass eine Schriftensperre dazu nicht geeignet ist, da der Beschwerdeführer die Schweiz ohne besondere Schwierigkeiten auch ohne Papiere verlassen könnte. Nachvollziehbar ist sein Einwand, der Zweck der Massnahme - die Bannung der Fluchtgefahr - erfordere nicht, ihn in Einzelhaft zu halten. Um in den Gruppenvollzug überstellt zu werden, müsste der Beschwerdeführer nach § 49 Abs. 1 StPO allerdings ein Gesuch um vorzeitigen Strafantritt stellen, was er offenbar nicht getan hat. Da keine Kollusionsgefahr besteht, stünden einer Gutheissung des Gesuchs jedenfalls keine grundsätzliche Einwände entgegen. Es ist indessen nicht Aufgabe des Bundesgerichts, darüber erstinstanzlich zu befinden, der Beschwerdeführer hat diesbezüglich zunächst den Rechtsweg auszuschöpfen.
3. Die Beschwerde ist somit abzuweisen, soweit darauf einzutreten ist. Bei diesem Ausgang des Verfahrens trägt der Beschwerdeführer die Kosten (Art. 66 Abs. 1 BGG). Er hat indessen ein Gesuch um unentgeltliche Rechtspflege und Verbeiständung gestellt, welches gutzuheissen ist, da seine Bedürftigkeit ausgewiesen scheint und die Beschwerde nicht von vornherein aussichtslos war (Art. 64 Abs. 1 und 2 BGG).
Demnach erkennt das Bundesgericht:
1. Die Beschwerde wird abgewiesen, soweit darauf einzutreten ist.
2. Das Gesuch um unentgeltliche Rechtspflege und Verbeiständung wird gutgeheissen:
2.1 Es werden keine Kosten erhoben.
2.2 Advokat Dr. Markus Fellmann wird für das bundesgerichtliche Verfahren als unentgeltlicher Verteidiger eingesetzt und mit Fr. 1'500.-- aus der Bundesgerichtskasse entschädigt.
3. Dieses Urteil wird dem Beschwerdeführer sowie der Staatsanwaltschaft und dem Haftgericht des Kantons Solothurn schriftlich mitgeteilt.
Lausanne, 4. Mai 2010
Im Namen der I. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber:
Féraud Störi