0

我在我的项目中使用 (Telerik) RadListView (Telerik.WinControls.UI.RadListView())。列表视图有几列:

public MainForm()
{
    Telerik.WinControls.UI.ListViewDetailColumn newColumn;
    InitializeComponent();

    newColumn = new ListViewDetailColumn("ID", "ID");
    newColumn.Width = 250;
    newColumn.Visible = false;
    this.MyListView.Columns.Add(newColumn);

    newColumn = new ListViewDetailColumn("Name", "Name");
    newColumn.Width = 250;
    newColumn.Visible = true;
    this.MyListView.Columns.Add(newColumn);

    newColumn = new ListViewDetailColumn("Description", "Description");
    newColumn.Width = 250;
    newColumn.Visible = true;
    this.MyListView.Columns.Add(newColumn);

    newColumn = new ListViewDetailColumn("Costs", "Costs");
    newColumn.Width = 250;
    newColumn.Visible = true;
    this.MyListView.Columns.Add(newColumn);

我通过添加 ListViewDataItems 手动填充列表视图:

foreach (Data.Tablename listEntry in ListOfTableEntries)
{
    ListViewDataItem newRow = new ListViewDataItem(listEntry.Id, new string[]{ listEntry.Name, listEntry.Description, listEntry.Costs});
    this.MyListView.Items.Add(newRow);
}

到目前为止,一切都很好。但我没有发现如何格式化构成添加行的特定列。例如:右对齐成本。我该怎么做(不右对齐所有其他列)?

谢谢

4

1 回答 1

1

尝试以下方式:

   private void radListView1_CellFormatting(object sender, ListViewCellFormattingEventArgs e)
   {
    if ((e.CellElement).Data.HeaderText == "ID")
    {
        if ((e.CellElement is DetailListViewDataCellElement))
        {
            e.CellElement.TextAlignment = ContentAlignment.TopRight;
        }
    }
    if ((e.CellElement).Data.HeaderText == "Name")
    {
        if ((e.CellElement is DetailListViewDataCellElement))
        {
            e.CellElement.TextAlignment = ContentAlignment.MiddleCenter;
        }

    //end so on
    }
}
于 2014-05-05T12:47:24.493 回答