0

通常(そして当然のことながら)、リストの各エントリはグリッドコントロールの行に表示されますが、各エントリを垂直形式、つまり列で表示する必要がある場合があります。

たとえば、次のような単純なグリッドの場合:

  • 名前Eメール年齢アドレス
  • Johnj@a.com30ジョンの住所
  • ジョーj@b.com30ジョーの住所
  • トムt@c.com30トムの住所

Infragistics wingridで次のように表示することは可能ですか?

  • 名前ジョンジョートム
  • メールJ@a.comj@b.comt@c.com
  • 30歳3030
  • 住所ジョンの住所ジョーの住所トムの住所

これを行う理由の1つは、各エントリのフィールドが多すぎて、すべてが同じ行ではなく同じ列にある方がナビゲートしやすいとユーザーが考えているためです。

元のデータソースを手動で変換し、垂直形式で別のビジネスオブジェクトを構築できることは知っていますが、新しいBOは実際にはその意味を表していないため、扱いにくいと感じています。

どんな助けでも大歓迎です..ありがとう。

4

2 に答える 2

2

ニコは正しいです。CardViewあなたがここで探していることをするべきです。

この物件の詳細を教えてください。

  1. このプロパティは、バンドがCardViewモードであるかどうかを決定します。
  2. いずれかのバンドに設定すると、このバンドのすべての子孫が非表示になります。
  3. ほとんどの場合、設定するのに最適な場所は、のInitializeLayoutイベントですUltraGrid

目的の外観を実現するには、おそらく次のコードを使用します。

private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
      //Setting the desired Band to be in a CardView mode
      e.Layout.Bands[0].CardView = true;

      //Restrict the maximum card area rows
      e.Layout.Bands[0].CardSettings.MaxCardAreaRows = 1;

      //Decide if  the caption should be shown
      e.Layout.Bands[0].CardSettings.ShowCaption = false;

      //Remove the CardSpacing so it would like closer to what you are expecting            
      e.Layout.Bands[0].Override.CardSpacing = 0;
}

CardViewスタイルのより一般的な情報については、こちらをご覧ください

于 2011-08-14T19:25:57.690 に答える
0

CardViewプロパティをアクティブに設定しようとしましたか?

これで問題が解決するはずです。

于 2011-06-22T13:16:53.403 に答える