2009-05-20 5 views
0

salut j'ai une chaîne comme ME_NAME que j'affiche comme headr dans la vue de grille mais maintenant je dois enlever les premiers charaters ME_ de la chaîne et montrer seulement NAME dans l'en-tête gridview.But ici je reçois les valeurs d'en-tête de la base de données.comment enlever les charaters de la chaîne dans ASP.net 2.0

+0

Vous avez un peu plus de chances d'obtenir des réponses utiles si vous travaillez un peu sur votre explication. Personnellement, je n'ai aucune idée de ce que vous demandez. –

+0

Je reçois les données de la base de données que j'ai besoin de lier à l'ensemble de données et de les afficher dans la grille. Mais les préfixes des en-têtes de colonnes doivent être supprimés et affichés dans la grille. –

Répondre

0

Désolé si cela est trop littérale ...

var olsstr = "ME_NAME"; 
var newstr = olsstr.Remove(0, 3); 
0

Si vos cordes commencent toujours avec la même valeur, ou avec des variations très limitées, un simple .Replace() devraient faire le travail:

String str = "ME_NAME"; 
String str2 = "ANOTHER_NAME"; 

str = str.Replace("ME_", String.Empty); // str == "NAME" 

str2 = str2.Replace("ME_", String.Empty).Replace("ANOTHER_", String.Empty); 

Si la variation est plus importante, vous pouvez utiliser Regular Expressions.

0

Il existe un certain nombre de façons de supprimer la partie "ME_" d'une chaîne. Voici un couple que vous pouvez utiliser:

string s1 = "ME_NAME"; 

    string s2 = s1.Replace("ME_", ""); 
    // or 
    s2 = s1.Split('_')[1]; 
    // or 
    s2 = s1.Substring(s1.IndexOf('_') + 1); 
3

Je pense avoir une idée de ce dont vous parlez, Joy.

Vous avez un GridView, que vous liez directement à l'aide d'une source de données avec AutoGenerateColumns true. Pour obtenir l'en-tête que vous voulez qu'il soit affiché, vous pouvez modifier votre requête SQL comme celui-ci -

SELECT 
    ME_NAME AS [Name] 
FROM 
    TABLE 

EDIT: Comme vous l'avez dit, vous voulez le faire à partir de l'extrémité avant, vous pouvez accrocher l'événement OnRowDataBound de GridView, et qui écrivent le code suivant -

if(e.Row.RowType == DataControlRowType.Header) 
{ 
    //Apply the logic for removing the "ME_" string from the header columns. 
} 
0

sur votre deuxième commentaire cependant, il semble que vous prenez la mauvaise approche. Si ce sont des noms de colonne de votre base de données, vous devez les renommer dans la clause SQL à la place:

SELECT ME_NAME As Name, ME_BIRTHDAY As Birthday FROM tbl_ME; 
+0

... ou modifier les propriétés des DataGridViewColumns? -) – Rytmis

Questions connexes