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

检查CardView.CardCaptionFormat 属性文档中的以下备注"

CardCaptionFormat 属性使您能够使用静态文本以及当前记录号和列值来构造标题文本。“{0}”字符序列是当前记录号的占位符。因此,默认属性值指定卡标题应包含“记录 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
Card Caption

于 2012-09-18T12:51:33.487 回答
0

谢谢@Niranjan-Kala。你发布的这个链接对我有帮助。这是供将来参考的链接:CodeHelp

这是我的代码修复: cardView1.CardCaptionFormat = "{" + cardView1.Columns[0].AbsoluteIndex + 1 + "}"

当然,它只显示到目前为止的名字,但在其中添加姓氏不会有太多的努力。

于 2012-09-19T07:52:07.747 回答