1

RadGridView という Telerik の独自コンポーネントがあります。これは、いくつかの拡張機能を備えた単純な GridView です。それについて言うことはあまりありません、それは単なるコントロールです。
ページング サポートを追加したいので、次の複合コントロールを作成しました。

ここに画像の説明を入力

それほど多くはありません。Fill ドッキング プロパティを持つ RadGridView と、その上に Top ドッキング プロパティを持つツールストリップ バーがあります。

このアプローチの問題は、RadGridView のインターフェースと一致しないことです。すべての RadGridView をこれに置き換える必要がありますが、これは非常に問題になる可能性があります。

RadGridView から継承して同じことを行う方法を見つける必要があります。これは継承可能なコントロールであり、そのメソッドはすべて仮想です。方法がわからないのは、その外観を変更して、ツールストリップ バーが RadGridView の真上にドッキングして表示されるようにする方法です。OnPaint イベントを変更する必要があることを読みましたが、そこからどこへ行くべきか混乱しています。Visual Studio のデザイナは、RadGridView から継承する場合でも、その外観を変更することを許可しません。

4

2 に答える 2

0

ここにページングを示す例が既にあります: CommandBar を使用した Gridview ページング と、ここに要素を RadGridView に追加する方法を示すサンプル: Add elements to RadGridView

于 2013-04-10T12:24:42.883 に答える
0

これを行う簡単な方法の 1 つは次のとおりです。

class CustomButton : Button
{
    protected override void OnPaint(PaintEventArgs pevent)
    {
        TextBox tb = new TextBox();
        tb.Width = 100;
        tb.Height = 20;
        tb.Top = this.Top - 20;
        tb.Left = this.Left;

        this.Parent.Controls.Add(tb);
        base.OnPaint(pevent);
    }
}

コンパイル後、ツール ボックスで使用可能なコントロールが表示されます。もちろん、プロパティをいじることはできますが、これが基本です。したがって、ページングを表すカスタム コントロールを作成し、この方法で追加します。

解決策 2: 複合コントロールを (作成したように) 作成し、RadGridView をそのコントロールのプロパティとして公開します。

于 2013-04-10T12:11:52.147 に答える