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

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

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

No.5294 の関連記事表示

<< 0 >>
■5294  Re[2]: 参照型のキャスト代入の動作
□投稿者/ DD. -(2006/08/04(Fri) 12:17:04)

    分類:[C#] 

    DD.です。

    > Base b = new Derived();
    >   Derived d = (Derived)b;
    >   if ( b == d ) System.Console.WriteLine("Identical");
    >
    > Identical だそうです。
    επιστημηさん、検証ありがとうございます。

    ちょっと内容は異なるのですが、別な方向で質問を続けさせて下さい。

    アプリケーションドメインを作成し、そこから CreateInstance() を行なったとします。
    ここから得られるインスタンスは ObjectHandle型となるため、本来の型にキャストしてやる必要があると思います。

    // 例)AppDomain.CreateInstance()から得た handle を Type型にキャスト
    Type type = (Type)handle.Unwrap();

    この時、Typeクラス内のメンバに対し、getプロパティが呼ばれています。
    #尚、Typeクラスは MarshalByRefObject を継承しているとします。

    この場合には、新規に別インスタンスを生成しているのでしょうか?

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

■5294  FlexGrigにおける行ソート
□投稿者/ くー -(2007/07/09(Mon) 22:00:53)

    分類:[VB.NET] 

    お世話になります。
    今、100行の2列の枠を確保し、3行目まで項目を記述してます。
    カラムをクリックすると各列でソートをしますが、
    null?
    の行が0〜96行目まで表示され、97行目〜99行目に上記の3行内容がソート表示されます。
    上記の3行内容が0〜2行目までにソートされ表示する方法が分かりません。

    回避策としては初めから枠をとるのではなくadditemで3行分追加してソートするしかありません。
    未入力の行はソート対象外とする方法をご教授ください。
親記事 /過去ログ15より / 関連記事表示
削除チェック/

■5298  Re[1]: FlexGrigにおける行ソート
□投稿者/ HIRO -(2007/07/10(Tue) 08:17:23)
>
    No5294 (くー さん) に返信
    > お世話になります。
    > 今、100行の2列の枠を確保し、3行目まで項目を記述してます。
    > カラムをクリックすると各列でソートをしますが、
    > null?
    > の行が0〜96行目まで表示され、97行目〜99行目に上記の3行内容がソート表示されます。
    > 上記の3行内容が0〜2行目までにソートされ表示する方法が分かりません。
    >
    > 回避策としては初めから枠をとるのではなくadditemで3行分追加してソートするしかありません。
    > 未入力の行はソート対象外とする方法をご教授ください。
    >

    ちょっとヘルプを確認してみたのですが、Sortメソッドの説明に下記記述がありました。

    書式
    Public Sub Sort(order As SortFlag, rg As CellRange)

    引数
    CellRange rg ソートする範囲のCellRangeオブジェクト。範囲を指定すると、グリッドは範囲に含まれる行だけをソートします。

    との説明がありました。
    くーさんが望んでいることができると思うのですがどうでしょうか?
記事No.5294 のレス /過去ログ15より / 関連記事表示
削除チェック/

■5300  Re[2]: FlexGrigにおける行ソート
□投稿者/ くー -(2007/07/10(Tue) 10:47:28)
    'エクスプローラバー上で、列ヘッダのクリックによって列をソートする前に発生します。
    Private Sub flex_AfterDragColumn(ByVal sender As Object, ByVal e As C1.Win.C1FlexGrid.SortColEventArgs) Handles cfg_List.BeforeSort
    Dim rg As C1.Win.C1FlexGrid.CellRange
    rg = cfg_List.GetCellRange(1, 0, 3, 1)
    'データをソートします。
    cfg_List.Sort(C1.Win.C1FlexGrid.SortFlags.Ascending, rg)
    End Sub

    イベントを取得して、一列目の1行目から3行目までを指定しているのですが、97行目〜99行目まで移動してしまいます。
    HIROさんの考え方は上記の処理だと思われるのですが、いかがでしょうか?
記事No.5294 のレス /過去ログ15より / 関連記事表示
削除チェック/

■5301  Re[3]: FlexGrigにおける行ソート
□投稿者/ HIRO -(2007/07/10(Tue) 11:03:08)
>
    No5300 (くー さん) に返信
    > 'エクスプローラバー上で、列ヘッダのクリックによって列をソートする前に発生します。
    > Private Sub flex_AfterDragColumn(ByVal sender As Object, ByVal e As C1.Win.C1FlexGrid.SortColEventArgs) Handles cfg_List.BeforeSort
    > Dim rg As C1.Win.C1FlexGrid.CellRange
    > rg = cfg_List.GetCellRange(1, 0, 3, 1)
    > 'データをソートします。
    > cfg_List.Sort(C1.Win.C1FlexGrid.SortFlags.Ascending, rg)
    > End Sub
    >
    > イベントを取得して、一列目の1行目から3行目までを指定しているのですが、97行目〜99行目まで移動してしまいます。
    > HIROさんの考え方は上記の処理だと思われるのですが、いかがでしょうか?

    くーさんが示されたコードは実行した結果どうだったのでしょうか?
記事No.5294 のレス /過去ログ15より / 関連記事表示
削除チェック/

■5315  Re[4]: FlexGrigにおける行ソート
□投稿者/ くー -(2007/07/10(Tue) 13:01:53)
    > くーさんが示されたコードは実行した結果どうだったのでしょうか?
    Dim aaa As New ArrayList
    aaa.Add(dtNow.ToString("yyyy/MM/dd HH:mm:ss") & "555")
    aaa.Add(dtNow.ToString("yyyy/MM/dd HH:mm:ss" & "444"))
    aaa.Add(dtNow.ToString("yyyy/MM/dd HH:mm:ss" & "333"))

    のarraylistを表示するとします。
    表示は
    yyyy/MM/dd HH:mm:ss 555
    yyyy/MM/dd HH:mm:ss 444
    yyyy/MM/dd HH:mm:ss 333
    ...
    で100行まで表示

    上記を実行すると

    null null
    null null
    ...
    yyyy/MM/dd HH:mm:ss 333
    yyyy/MM/dd HH:mm:ss 444
    yyyy/MM/dd HH:mm:ss 555

    となります。
記事No.5294 のレス /過去ログ15より / 関連記事表示
削除チェック/

■5316  Re[5]: FlexGrigにおける行ソート
□投稿者/ HIRO -(2007/07/10(Tue) 13:11:45)
>
    Sortメソッドの実行をBeforeSortイベントの中で行っているんですよね?

    実際のソートはBeforeSortイベントの後に別にコントロール自身が行っているのではないでしょうか?
    (だとするとくーさんが記述したSortは行われているが、コントロール自身がそのあとにソートを行ったので期待通りの結果が得られないのかな?)
    ためしに、フォームにボタンを1つ用意してそのボタンのクリックイベントでくーさんが記述された下記のコードを実行するようにしてみてください。

    > Dim rg As C1.Win.C1FlexGrid.CellRange
    > rg = cfg_List.GetCellRange(1, 0, 3, 1)
    > 'データをソートします。
    > cfg_List.Sort(C1.Win.C1FlexGrid.SortFlags.Ascending, rg)
記事No.5294 のレス /過去ログ15より / 関連記事表示
削除チェック/

■5380  Re[6]: FlexGrigにおける行ソート
□投稿者/ くー -(2007/07/11(Wed) 17:16:25)
    No5316 (HIRO さん) に返信
    > Sortメソッドの実行をBeforeSortイベントの中で行っているんですよね?
    >
    > 実際のソートはBeforeSortイベントの後に別にコントロール自身が行っているのではないでしょうか?
    くーは馬鹿でした。
    cfg_List.BeforeSort イベントしてからソートしても仕方がないですね。
    以下のソースでOKです。
    HIROさんありがとうございました。

    Dim rg As C1.Win.C1FlexGrid.CellRange
    rg = cfg_List.GetCellRange(1, 0, 3, 1)
    'データをソートします。
    cfg_List.Sort(C1.Win.C1FlexGrid.SortFlags.Ascending, rg)

    余談ですが
    ログリスト(1000行くらいで、MAXで1行目から)を作成するにあたり
    1.リスト行数を確保してSetDataで記述する
    2.記述イベントで行を追加する。
    HIROさんはどちらの方法を行いますか?
    一概にせんたくできないと思いますが…
記事No.5294 のレス / END /過去ログ15より / 関連記事表示
削除チェック/

■5383  Re[7]: FlexGrigにおける行ソート
□投稿者/ HIRO -(2007/07/11(Wed) 18:00:30)
>
    No5380 (くー さん) に返信
    > ■No5316 (HIRO さん) に返信
    >>Sortメソッドの実行をBeforeSortイベントの中で行っているんですよね?
    >>
    >>実際のソートはBeforeSortイベントの後に別にコントロール自身が行っているのではないでしょうか?
    > くーは馬鹿でした。
    > cfg_List.BeforeSort イベントしてからソートしても仕方がないですね。
    > 以下のソースでOKです。
    > HIROさんありがとうございました。
    >
    > Dim rg As C1.Win.C1FlexGrid.CellRange
    > rg = cfg_List.GetCellRange(1, 0, 3, 1)
    > 'データをソートします。
    > cfg_List.Sort(C1.Win.C1FlexGrid.SortFlags.Ascending, rg)
    >
    > 余談ですが
    > ログリスト(1000行くらいで、MAXで1行目から)を作成するにあたり
    > 1.リスト行数を確保してSetDataで記述する
    > 2.記述イベントで行を追加する。
    > HIROさんはどちらの方法を行いますか?
    > 一概にせんたくできないと思いますが…

    んー、DataSetにデータを取得してから、FlexGridのDataSourceプロパティにセットする、かな
記事No.5294 のレス / END /過去ログ15より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -