2011-08-04 11 views
0

私はDataGridViewの列に値を入れるのコードの行を持っている:DataGridView列に値を追加するとき、値をどのように書式設定できますか?

dataGridView1.Rows[r].Cells[2].Value = MBRHISTDETLDt.Rows[r].ItemArray[0]; 

に行く価値は次のようになりますテキストフィールドです:私はフォーマットしたい

"00001100914401" 

その列にそれを追加するとき、それは次のようになりますように:

"110-09-144.01" 

基本的に、私はすべての先行ゼロをトリミングしたいとFOで残りの数を持っていると思いますrmat ### - ## - ##。##。

StringクラスのTrimStart()メソッドを使用して先行ゼロを削除することはできますが、文字列の残りの部分をフォーマットし、ダッシュとピリオドを挿入することなく簡単にフォーマットすることはできません。私はもっ​​と簡単な方法があると思っています。どんなアドバイスも大歓迎です!

ありがとうございます!

答えて

3

はこれを試してみてください:

String value = MBRHISTDETLDt.Rows[r].ItemArray[0].ToString(); 
value = Regex.Replace(value.TrimStart('0'), @"^(\d{3})(\d{2})(\d{3})(\d*)$", "$1-$2-$3.$4"); 
dataGridView1.Rows[r].Cells[2].Value = value; 
+0

まあ、ちょっと働きました。先頭の0をトリムしましたが、文字列をフォーマットしませんでした。だから "110-09-144.01"の代わりに私は "1100914401"を得ました。しかし、これはまだ始まりです。私はそれを見て、何が起こるかを見てみましょう。私は正規表現を使用していないので、これは良いスタートになるでしょう。ありがとうございました! – Kevin

+0

これはうまくいった。私が試したのは初めてのことでしたが、私はタイプミスを犯しました。私はあなたのコードを再調査し、私のエラーを見て修正して、もう一度試しました。それは完璧に働いた!どうもありがとうございます! – Kevin

関連する問題