TX TextControl 如何实现控制局部信息的可编辑性
问题:1.如图所示: 如何实现只允许“remark” 可编辑,其他均为不可编辑??? 回复 1楼DCAgile的帖子
可以通过 FieldMerged 事件获取每次绑定的文本位置,在编辑时判断:
int start = 0;
int length = 0;
bool isMark = true;
private void mailMerge1_FieldMerged(object sender, TXTextControl.DocumentServer.MailMerge.FieldMergedEventArgs e)
{
if (isMark)
{
start = e.MailMergeFieldAdapter.Start;
length = e.MailMergeFieldAdapter.Length;
isMark=false;
}
}
private void 获取绑定文本ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.textControl1.Select(start-1, length);
MessageBox.Show(this.textControl1.Selection.Text);
}
这是我当前的调查结果。你可以尝试下 回复 2楼iceman的帖子
1.麻烦将你写的实例发过来,我看一下
2.麻烦继续跟踪一下一个模版中出现多个相同字段的情况的处理方式?? 回复 3楼DCAgile的帖子
private void mailMerge1_FieldMerged(object sender, TXTextControl.DocumentServer.MailMerge.FieldMergedEventArgs e)
刚电话没有人接听
问题: 添加的事件 —— 无法除法该事件,是什么原因??? 麻烦将你的实例发一下?? 回复 4楼DCAgile的帖子
请参考:
回复 5楼iceman的帖子
int start = 0;
int length = 0;
private void mailMerge1_FieldMerged(object sender, TXTextControl.DocumentServer.MailMerge.FieldMergedEventArgs e)
{
getCollection = new Dictionary<int, int>();
if (e.MailMergeFieldAdapter.ApplicationField.Name=="content")
{
start = e.MailMergeFieldAdapter.Start;
length = e.MailMergeFieldAdapter.Length;
getCollection.Add(start-1, length);
this.textControl1.Select(start, length);
this.textControl1.Selection.TextBackColor = Color.Red;
}
}
private void textControl1_Changed(object sender, EventArgs e)
{
int a = start-1;
int c = this.textControl1.InputPosition.TextPosition;
int b = length+1;
if (c>a && c<(a+b))
{
}
else
{
//如何退出事件
return;
}
}
问题:textControl1_Changed 怎么退出事件??? 回复 6楼DCAgile的帖子
你指的是如何撤销当前更改吗?
我需要咨询下厂商看如下撤销。
this.txContent.ApplicationFields 信息丢失
回复 7楼iceman的帖子this.txContent.ApplicationFields 信息丢失
操作步骤如下:
第一步:TX_DB运行
第二步:刷分刷,更改为:刷分刷 aa
第三步:刷分刷 aa,更改为:cccc 刷分刷 aa
第四步:按“Backspace”键,删除(删除cccc 刷分刷 aa)
问题:
当删除到cccc时,this.txContent.ApplicationFields 数据会丢失,,,?? 什么原因?? 初步判断。是在判断field其实位置的时候有问题,没有进入到你的防删除逻辑。正在尝试找其他办法做判断。 换成这句 if (string.IsNullOrEmpty(t.Text) && e.KeyChar.Equals('\b')) 试试
页:
[1]
2