2010-11-05 4 views
3

J'ai un contrôle sur une winform appelée chart1.C# Comment puis-je vérifier si datasource est null?

je voudrais savoir si chart1.DataSource est vide

comment puis-je vérifier?

+0

Comment le vérifiez-vous d'où? La réponse évidente semble être 'if (chart1.DataSource == null) {}' ... Ou voulez-vous dire quelque chose d'autre par 'vide'? –

+5

chart1.DataSource == null – jfs

+0

Que voulez-vous dire par vide? Vide comme dans aucune source de données, ou vide car les tables n'ont pas de lignes (si votre source de données contient des tables par exemple). – JLWarlow

Répondre

5

Si le DataSource est DataTable, vous pouvez vérifier d'abord que le DataTable est non nul, et d'autre part que son Rows.Count> 0.

Si le DataSource est un DataSet , vous vérifiez nUL l, puis les tables, puis les lignes.

1

Vérifiez s'il est null.

if(chart1.DataSource == null) 
{ 
// Do something 
} 

Si vous savez ce que le DataSource est, alors vous pouvez lancer et vérifier si elle est vide ou non. Par exemple:

List<String> strings = new List<String>() { "a", "b" }; 

// Set chart1.DataSource to strings... then later on 
if(chart1.DataSource != null) 
{ 
    List<String> boundStrings = chart1.DataSource as List<String>; 
    if(boundStrings != null && boundStrings.Count > 0) 
    { 
     // do something 
    } 
} 
+0

désolé j'ai besoin de savoir s'il a 0 lignes –

+0

voir la réponse mise à jour ... cela dépend de ce que votre DataSource est cependant quant à ce que vous avez besoin de lancer. – Ian

+0

mais gardez à l'esprit chart1 est un graphique ms –

1
if (chart1.DataSource == null) 
{ 
    // The DataSource is empty 
} 
2

personnellement id vérifier la source de données null avant que je le lier à tracer, donc je n'ai pas à vous soucier de chart1 traitant une source de données null