C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.9186 の関連記事表示

<< 0 >>
■9186  Re[3]: DataGridViewの先頭に0
□投稿者/ ゆみ -(2006/12/14(Thu) 18:05:10)

    分類:[C#] 

    No9175に返信(Hongliangさんの記事)
    > 数値型を使ってるなら DefaultCellStyle で Format いじれば済みますね。

    ありがとうございます。
    では数値型に変換し、Formatメソッドを使ってみます。

記事No.9170 のレス / END /過去ログ8より / 関連記事表示
削除チェック/

■9186  Re[3]: DataGridViewの先頭に0
□投稿者/ ゆみ -(2006/12/14(Thu) 18:05:10)

    分類:[C#] 

    No9175に返信(Hongliangさんの記事)
    > 数値型を使ってるなら DefaultCellStyle で Format いじれば済みますね。

    ありがとうございます。
    では数値型に変換し、Formatメソッドを使ってみます。

記事No.9170 のレス / END /過去ログ9より / 関連記事表示
削除チェック/

■9186  テーブルのソート
□投稿者/ hikaru -(2007/10/20(Sat) 17:34:38)

    分類:[C#] 

    いつもお世話になります。

    早速ですが、教えていただきたいことがあります。
    テーブル(lay_Table)内の項目(NO)を昇順にソートしたいのですが、
    以下のようになります。

    <事象>
    NO 1、10、11、2、3、4、…
    私としては、
    NO 1、2、3、4、…10、11
    としたいのですが、どのようにしたらいいのでしょうか?
    文字としてソートしているようなんですが、数値としてソートしたいです。

    コーディングは以下の通りです。
    どなたかご教授おねがいします。

    DataTable dt = null;
    DataView dv = null;

    //データの並び替え
    dt = lay_Table.Clone();
    dv = new DataView(lay_Table);
    dv.Sort = "NO";
    foreach (DataRowView drv in dv)
    {
    dt.ImportRow(drv.Row);
    }
親記事 /過去ログ21より / 関連記事表示
削除チェック/

■9187  Re[1]: テーブルのソート
□投稿者/ ぽぴ王子 -(2007/10/20(Sat) 18:47:25)
>
    No9186 (hikaru さん) に返信
    
    > <事象>
    > NO 1、10、11、2、3、4、…
    > 私としては、
    > NO 1、2、3、4、…10、11
    > としたいのですが、どのようにしたらいいのでしょうか?
    > 文字としてソートしているようなんですが、数値としてソートしたいです。
    
    "NO" が文字項目として定義されているからそうなってしまうんでしょうね。
    根本から言えば、そうなってしまうのを数値項目にすればいいような気がします。
    どうやってテーブルに入れているのかはわかりませんが、例えばSQLで工夫するとか
    そもそものDBの項目が文字項目だったら数値項目に変更するとか。
    
    そういったことを一番に考えるべきではありますが、この条件で数値としてソート
    するのであれば、列を追加して数値に変換させるのが一番楽そうです。
    こんな感じで。
    
    lay_Table.Columns.Add("NOソート用", typeof(int), "Convert(NO, 'System.Int32')");
    dv = new DataView(lay_Table);
    dv.Sort = "NOソート用";
    foreach (DataRowView drv in dv)
    {
        dt.ImportRow(drv.Row);
    }
    
    ちなみにImportRowですが、C# 2.0であればDataView.ToTable()メソッドがあるので
    それを使うと楽です。
記事No.9186 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9210  Re[2]: テーブルのソート
□投稿者/ hikaru -(2007/10/22(Mon) 06:26:16)
    No9187 (ぽぴ王子 さん) に返信
    > ■No9186 (hikaru さん) に返信
    >
    >><事象>
    >>NO 1、10、11、2、3、4、…
    >>私としては、
    >>NO 1、2、3、4、…10、11
    >>としたいのですが、どのようにしたらいいのでしょうか?
    >>文字としてソートしているようなんですが、数値としてソートしたいです。
    >
    > "NO" が文字項目として定義されているからそうなってしまうんでしょうね。
    > 根本から言えば、そうなってしまうのを数値項目にすればいいような気がします。
    > どうやってテーブルに入れているのかはわかりませんが、例えばSQLで工夫するとか
    > そもそものDBの項目が文字項目だったら数値項目に変更するとか。
    >
    > そういったことを一番に考えるべきではありますが、この条件で数値としてソート
    > するのであれば、列を追加して数値に変換させるのが一番楽そうです。
    > こんな感じで。
    >
    > lay_Table.Columns.Add("NOソート用", typeof(int), "Convert(NO, 'System.Int32')");
    > dv = new DataView(lay_Table);
    > dv.Sort = "NOソート用";
    > foreach (DataRowView drv in dv)
    > {
    > dt.ImportRow(drv.Row);
    > }
    >
    > ちなみにImportRowですが、C# 2.0であればDataView.ToTable()メソッドがあるので
    > それを使うと楽です。

    ぽぴ王子さん、ありがとうございます。

    おっしゃる通り、DBの項目を数値項目にしようとも思いましたが、
    いくつかの問題点がありました。

    無事、教えていただいた通り、列を追加してソートすることができました。
    ありがとうございます。
    これからもよろしくお願いします。


記事No.9186 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9211  Re[3]: テーブルのソート
□投稿者/ hikaru -(2007/10/22(Mon) 06:28:10)
    解決にするのを忘れていました。
    すいません。
記事No.9186 のレス / END /過去ログ21より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -