3

エントリを具体的にしようとしていCardView1.CardCaptionFormatます。たとえば、各カードのキャプションとして、特定の人物の名前と名前を表示します。

コードはある程度機能しますが、各カードのキャプションとしてLASTエントリの名前と名前が表示されます。

コードは次のとおりです。

foreach (DataRow x in ds.Tables[0].Rows)
{
    strNameSurname = x[0].ToString() + " " + x[1].ToString();
    cardView1.CardCaptionFormat = x[0].ToString() + " " + x[1].ToString();
}

//x[0] is the name of an individual, x[1] is the surname of an individual.

これが誰もが理解できるほど明確であることを願っています!

4

2 に答える 2

0

ありがとう@Niranjan-Kala。あなたが投稿したこのリンクは私を助けました。今後の参照用のリンクは次のとおりです: CodeHelp

これが私のコード修正です: cardView1.CardCaptionFormat = "{" + cardView1.Columns[0].AbsoluteIndex + 1 + "}"

確かに、これまでのところ名前しか表示されていませんが、そこに姓を追加するのはそれほど手間ではありません。

于 2012-09-19T07:52:07.747 に答える
0

CardView.CardCaptionFormat プロパティのドキュメントで次の注意事項を確認してください"

CardCaptionFormat プロパティを使用すると、静的テキストと現在のレコード番号および列の値を使用して、キャプション テキストを作成できます。'{0}' 文字シーケンスは、現在のレコード番号のプレースホルダーです。したがって、デフォルトのプロパティ値は、カード キャプションに 'Record N' とそれに続くカード番号を含める必要があることを指定します。カード キャプション内に列の値を表示するには、目的の列インデックスを使用する必要があります。たとえば、'{1}' 文字シーケンスは、最初の列の値のプレースホルダーです。

テーブルがグリッドにバインドされている場合は、フォーマット文字列の列インデックスNameSurname列を割り当てることができ、要件に従ってキャプションが自動的に反映されます。

名前と姓の列インデックスがそれぞれ 0 と 1 であると仮定すると、CardView.CardCaptionFormatプロパティは次のように設定されます。

CardView.CardCaptionFormat = {0} + "" + {1}

ソース: CardCaptionFormat
カスタム カード キャプションを表示するには、CardView.CustomDrawCardCaptionイベントを処理し、プロパティを明示的に設定する必要がありCardInfo.CaptionInfo.CardCaptionます。私はあなたのために例を用意しました。添付にございます。本質的なコードは次のとおりです。

Private Sub CardView1_CustomDrawCardCaption(ByVal sender As System.Object, ByVal e As DevExpress.XtraGrid.Views.Card.CardCaptionCustomDrawEventArgs) Handles CardView1.CustomDrawCardCaption
    Dim view As DevExpress.XtraGrid.Views.Card.CardView = sender
    Dim s As String = String.Format("Subject: {0}", view.GetRowCellDisplayText(e.RowHandle, "ProductName"))
    CType(e.CardInfo, DevExpress.XtraGrid.Views.Card.ViewInfo.CardInfo).CaptionInfo.CardCaption = s
End Sub

詳細参照:
複数のカードに異なる CardCaptionFormat を設定する方法
カード キャプション

于 2012-09-18T12:51:33.487 に答える