- PR -

DataGridViewColumn のヘッダーが反応しないのですが

1
投稿者投稿内容
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-12-08 16:29
VC#2005 で System.Windows.Forms.DataGridView のヘッダーをクリックしてもソートが実行されません。
AllowUserToOrderColumns プロパティが true になっていることは確認済みです。

動作としては、ソートが行われないというよりも、クリックしても反応が無いという方が正しいかもしれません。

この現象は、DataGridViewColumn を自作した場合に発生します。

コード:
public class TestForm : Form
    DataGridViewTextBoxColumn 正常に動作する列;
    自作列その1 これも正常に動作する列;
    自作列その2 正しく動作しない列;
    自作列その3 これも正しく動作しない列;
    ・・・中略・・・
}

public class 自作列その1 : DataGridViewTextBoxColumn {
    public 自作列その1() {}
}

public class 自作列その2 : DataGridViewColumn {
    public 自作列その2() : base(new 自作セル()) {}
}

public class 自作列その3 : DataGridViewColumn {
    public 自作列その3() : base(new DataGridViewTextCell()) {}
}


以上のように DataGridViewColumn を基本クラスとして、cellTemplate を指定することで問題が発生します。
どのようにすれば解決できるのか、ご教示いただけないでしょうか?
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2006-12-09 10:49
SortModeをAutomaticに指定してやれば動いてくれました。
コード:
public class CustomColumn : DataGridViewColumn
{
    public CustomColumn()
        : base(new DataGridViewTextBoxCell())
    {
        base.SortMode = DataGridViewColumnSortMode.Automatic;
    }
}


R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-12-09 14:33
引用:

Kazukiさんの書き込み (2006-12-09 10:49) より:
SortModeをAutomaticに指定してやれば動いてくれました。


初期化を明示的に書かなければいけなかったんですね。
継承してそのままいけるのだとばかり思っていました。
ありがとうございました。
_________________
R・田中一郎 -  R.Tanaka.Ichiro’s Blog
1

スキルアップ/キャリアアップ(JOB@IT)