我有一张垂直和水平线条的桌子。但我不想要水平线。我只想要垂直线。我怎么设置它。我预期的o / p是
我的表格代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/main_app_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@color/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
<LinearLayout
android:id="@+id/main_content_fragments"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/main_app_toolbar"
android:orientation="horizontal">
<fragment
android:id="@+id/activity_fragment_main_event_list"
class="com.torneyo.torneyoadmin.fragments.EventListFragment"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<fragment
android:id="@+id/activity_fragment_main_event_detail"
class="com.torneyo.torneyoadmin.fragments.EventDetailFragment"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="?android:attr/detailsElementBackground" />
</LinearLayout>
</RelativeLayout>
<android.support.design.widget.NavigationView
android:id="@+id/main_drawer"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:itemIconTint="@color/colorAccent"
app:itemTextColor="@color/colorTextSecondary"
app:menu="@menu/menu_drawer" />
</android.support.v4.widget.DrawerLayout>
例如:
任何人请帮助
答案 0 :(得分:6)
您可以更改单元格的边框,使它们只显示垂直线条。如何执行此操作取决于您将单元格添加到表中的方式。
这是两种方法:
<强> 1。您可以明确地创建PdfPCell对象:
PdfPCell cell = new PdfPCell(); cell.AddElement(new Paragraph(“my content”)); cell.Border = PdfPCell.LEFT; table.AddCell(细胞);
在这种情况下,只会显示单元格的左边框。对于行中的最后一个单元格,您还应添加右边框:
cell.Border = PdfPCell.LEFT | PdfPCell.RIGHT;
<强> 2。您隐式创建PdfPCell对象:
在这种情况下,您不会自己创建PdfPCell
对象,而是让iTextSharp创建单元格。这些单元格将复制DefaultCell
级别定义的PdfPTable
的属性,因此您需要对其进行更改:
table.DefaultCell.Border = Rectangle.LEFT | Rectangle.RIGHT;
table.addCell("cell 1");
table.addCell("cell 2");
table.addCell("cell 3");
现在所有单元格都没有顶部或底部边框,只有左右边框。你会画出一些额外的线条,但没有人会注意到线条重合。
另见Hiding table border in iTextSharp
例如:
PdfPTable table = new PdfPTable(5);
table.TotalWidth = 510f;//table size
table.LockedWidth = true;
table.SpacingBefore = 10f;//both are used to mention the space from heading
table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
table.DefaultCell.Border = PdfPCell.LEFT | PdfPCell.RIGHT;
table.AddCell(new Phrase(" SL.NO", font1));
table.AddCell(new Phrase(" SUBJECTS", font1));
table.AddCell(new Phrase(" MARKS", font1));
table.AddCell(new Phrase(" MAX MARK", font1));
table.AddCell(new Phrase(" CLASS AVG", font1));
Doc.Add(table);
无需多次定义DefaultCell
的属性。没有必要像这样嵌套Phrase
构造函数:new Phrase(new Phrase("content"))
。
答案 1 :(得分:0)
布鲁诺的回答并没有帮助我,但我得到了一个想法,也许是因为那是在2015年,但这就是我所做的。 我宣布一张桌子
PdfPTable table2 = new PdfPTable(8);
定义宽度..
table2.WidthPercentage = 100;
最后只放置了我喜欢的边框
table2.DefaultCell.Border = Rectangle.RIGHT_BORDER;
table2.DefaultCell.Border = Rectangle.LEFT_BORDER;
当然,如果你想用它来显示。
table2.AddCell(new Phrase("Total Amount", ftxt));
table2.AddCell(new Phrase("Another text", ftxt));
然后将其添加到pdf。
doc.Add(table2);
如果您没有指定,iTextSharp似乎有内置的列/行,如单元格类型。