TXTControl相关几个问题
本帖最后由 KingMan 于 2017-4-7 17:03 编辑你好,在使用TXTControl过程中遇到几个问题,想请教一下看有没有什么思路。
1.在TXTControl中表格,TEXTFIELD等对象都是可以复制的,导致这些对象的ID都会重复,如多个TABLE 的ID 是一样的。多个TEXTFIELD的ID也可能出现一样的。
2.我尝试了下,在textControl1_TableCreated textControl1_TextFieldCreated事件中,,但是在插入表格,或者添加文本域的时候并没有触发该事件,
private void textControl1_TableCreated(object sender, TableEventArgs e)
{
Table txt = textControl1.Tables.GetItem();
if (txt == null || txt.ID >= 0)
return;
int iMaxId = 0;
foreach (Table pNext in textControl1.Tables)
{
if (pNext.ID > iMaxId)
iMaxId = pNext.ID;
}
txt.ID = iMaxId;
}
private void textControl1_TextFieldCreated(object sender, TextFieldEventArgs e)
{
TextField txt = textControl1.TextFields.GetItem();
if (txt == null || txt.ID >= 0)
return;
int iMaxId = 0;
foreach (TextField pNext in textControl1.TextFields)
{
if (pNext.ID > iMaxId)
iMaxId = pNext.ID;
}
txt.ID = iMaxId;
}
3.假如现在我在TXTControl中有多个表格,每个表格表头都不一样,我现在想将每个表都存为一个BYTE[],存到数据库中,这样我可以在其他模板中直接调用引用BYTE[]加载进来
4.我想将一个TEXTFIELD带格式的,保存为byte[] 存储到数据库,怎么获取TEXTFIELD带格式的BYTE[] 数据。
5.如何设置TXTControl控件纸张,如要设置A4,B5纸张,还有如何设置横向等问题。
1。 没有太好的办法。只能写代码干预吧。add的时候检查id有没有重复,然后处理掉。
2. 这个事件只有在UI上从clipboard粘贴到tx上的时候才触发。代码写的添加不触发。
3. 我不知道你的问题是什么?如果是问怎么把table存成byte[],控件没有支持。
4,本身没有支持。
5. 你在文档里搜print就知道了。
int m_curPage = 2;
PrintDocument myPrintDoc = new PrintDocument();
myPrintDoc.DefaultPageSettings.PaperSize = new PaperSize("default",
textControl1.PageSize.Width,
textControl1.PageSize.Height);
myPrintDoc.DefaultPageSettings.Margins = new Margins(textControl1.PageMargins.Left,
textControl1.PageMargins.Right,
textControl1.PageMargins.Top,
textControl1.PageMargins.Bottom);
myPrintDoc.PrinterSettings.PrintRange = PrintRange.SomePages;
myPrintDoc.PrinterSettings.FromPage = m_curPage;
myPrintDoc.PrinterSettings.ToPage = m_curPage;
textControl1.Print(myPrintDoc);
页:
[1]