我有一个问题,我有一个表(PdfPTable)可能会超出页面的长度.我试过查找如何将一个表"拆分"到一个以上的页面,但iTextSharp在这方面的记录非常糟糕.有没有人知道如何做到这一点,而不是在页面上选择一个任意的Y位置并告诉它如果在那里分开?
我查看了SplitLate和SplitRows属性,但没有关于这些做什么的文档.编辑他们什么都不做.
谢谢!
编辑
我希望在宽度方向上将桌子切成两半,因为桌子总是适合页面的宽度.这就是说我希望垂直不适合的行延伸到它下面的下一页.
EDIT2
这是一些代码:
Public Sub BuildPrintableDocument
Dim doc As New Document(PageSize.LETTER, 0, 0, 0, BOTTOM_MARGIN)
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, _
New FileStream("invoice.pdf", FileMode.Create)
Dim footer As New HeaderFooter(New Phrase("www.columbussupply.com", _
footerFont), False)
footer.Border = Rectangle.NO_BORDER
footer.Alignment = HeaderFooter.ALIGN_CENTER
doc.Footer = footer
doc.Open()
....
Dim items As PdfPTable = NewItemTable()
Dim count As Integer = 0
For Each oi As OrderItem In TheInvoice.Items
If oi.Status <> OrderItem.OrderItemStatus.Cancelled Then
Dim …Run Code Online (Sandbox Code Playgroud) 如何使用C#获取和设置另一个应用程序的位置?
例如,我想得到记事本的左上角坐标(让我们说它漂浮在100,400处),此窗口的位置为0,0.
实现这一目标的最简单方法是什么?
.NET字符串函数是否IndexOf("blah")区分大小写?
从我记得他们不是,但由于某种原因,我看到我的应用程序中的错误,查询字符串中的文本是在驼峰的情况下(如UserID),我正在测试IndexOf("userid").
Big-O表示法O(n)和Little-O表示法有o(n)什么区别?
algorithm big-o time-complexity asymptotic-complexity little-o
我在开发环境中工作,我们大量使用MSBuild - 我发现自己经常不得不手动编辑我的构建csproj xml.我讨厌这个 - 似乎应该有一个很好的用户界面来编辑这些文件和执行常见的任务.我想象Visual Studio中的Project Properties Pages中的一个选项卡会给我一些东西,但是唉.理想情况下,我将能够:
所以我有一些单元测试通过Xcode 3.1/Leopard.它们在iPhone应用程序项目中使用SenTestingKit,并在单独的"测试"目标中构建/运行.我刚刚在Snow Leopard上升级到Xcode 3.2并且测试似乎运行(我在Console.app中获取日志并看到它们正在通过),但是Xcode沙滩球并且必须在它们运行后强行退出.Console.app显示来自Xcode的以下错误,即使测试目标中没有包含测试用例,也会出现错误:
Xcode[1734] -[XCBuildLogCommandInvocationSection setTestsPassedString:]:
unrecognized selector sent to instance 0x20104db60
Xcode[1734] -runOperationInBackground raised an exception:
-[XCBuildLogCommandInvocationSection setTestsPassedString:]:
unrecognized selector sent to instance 0x20104db60
Run Code Online (Sandbox Code Playgroud)
我已经清理并重建无济于事,我似乎无法通过搜索找到关于这个主题的任何内容(虽然看起来似乎有一个人有同样的问题).
更新:我已将此报告为Apple的错误,错误为#7214051.
我想弄清楚如何解决这个问题.我必须将一些数据插入到2个表中,然后将它们称为表A和表B.
Table A has these columns
AId<PK>
A1
A2
A3
Table B has
AId<PK>
A1
B2
B3
B4
Run Code Online (Sandbox Code Playgroud)
现在我的第一个问题是另一个存储库应该调用另一个 我不认为这会解决我目前的问题,但我只是想知道这一点以供将来参考?
现在我的问题.
当我在我的存储库层(TableARepository)中调用create来创建表A.我也立即创建了tableB的字段.
// linq to sql.
TableA myATable = new TableA();
dbContext.myATable.A1 = "hi"; // all these values would come from parameters.
dbContext.myATable.A2 = "bye";
dbContext.myATable.A3 = "go";
dbContext.myATable.insertOnSubmit(TableA);
dbContext.SubmitChanges();
TableB myBTable = new TableB();
dbContext.myBTable.AId = myATable.AId;
dbContext.myBTable.A1 = myATable.A1;
dbContext.myBTable.B2 = "2";
dbContext.myBTable.B3 = "3";
dbContext.myBTable.B4 = "4";
dbContext.myATable.insertOnSubmit(TableB);
dbContext.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
所以我认为这很好,我认为我不需要为此服务层调用myBTable存储库(创建tableB).
现在这是问题所在.当且仅当它不等于"hi"时,TableB表才应该将信息插入到该表中.
so param1 != "hi" // insert …Run Code Online (Sandbox Code Playgroud) 如何注册依赖属性,该属性的值是使用另一个依赖属性的值计算的?
因为WPF在运行时绕过了.NET属性包装器,所以不应该在getter和setter中包含逻辑.解决方案通常是使用PropertyChangedCallbacks.但那些被宣布为静态的.
例如,完成这项设计任务的正确方法是什么:
public bool TestBool
{
get { return (bool)GetValue(TestBoolProperty); }
set
{
SetValue(TestBoolProperty, value);
TestDouble = ((value)?(100.0):(200.0)); // HERE IS THE DEPENDENCY
}
}
public static readonly DependencyProperty TestBoolProperty =
DependencyProperty.Register("TestBool", typeof(bool), typeof(ViewModel));
public double TestDouble
{
get { return ((double)GetValue(TestDoubleProperty)); }
set { SetValue(TestDoubleProperty, value); }
}
public static readonly DependencyProperty TestDoubleProperty =
DependencyProperty.Register("TestDouble", typeof(double), typeof(ViewModel));
Run Code Online (Sandbox Code Playgroud)
只要依赖关系不是循环的,是否有适当的方法来实现这一目标?
我使用一个简单的Perl脚本来解析XML并将其转换为可用的SQL.我当前的SQL行是这样的:
INSERT INTO table VALUES ('data1', 'data2', 'data3', );
Run Code Online (Sandbox Code Playgroud)
显然我需要在那里删除逗号.听起来很简单,但我无法让正则表达式找到它.我尝试过,s/,\s+\)/\)/但是当我运行它时,这并没有改变任何东西.奇怪的s/,\s+/WTF/是,当它应该替换所有逗号和它们旁边的空格时,也不会修改任何内容.但是,当我s/\s+\)/something/正确运行它时,找到并替换行末尾的括号.显然,逗号之后的空白字符是一些奇怪的幽灵角色,我无论如何都找不到.甚至没有.表达.
真正奇怪的是,当我在Notepad ++中使用正则表达式选项在文档上使用查找时,它会在我输入时完全找到所有这些,,\s+\)但是在Perl正则表达式中完全相同的序列将找不到它们.
我怀疑它是\r(我正在使用Windows),因为我以前删除了\n字符,但它不会\r在整个sql文件中找到.
提前感谢您的帮助,这真让我感到困惑.
如何更改列以删除默认值?
该列创建时使用:
ALTER table sometable Add somecolumn nchar(1) NOT NULL DEFAULT 'N'
Run Code Online (Sandbox Code Playgroud)
然后改为:
alter table sometable alter column somecolumn nchar(1) null
Run Code Online (Sandbox Code Playgroud)
这允许空值,但默认值仍然存在.你怎么能删除它?
c# ×2
algorithm ×1
asp.net ×1
asp.net-mvc ×1
big-o ×1
iphone ×1
itextsharp ×1
linkage ×1
linq-to-sql ×1
little-o ×1
msbuild ×1
page-break ×1
pdfptable ×1
perl ×1
regex ×1
split ×1
t-sql ×1
testing ×1
unit-testing ×1
whitespace ×1
window ×1
wpf ×1
xcode ×1