有没有办法在Flex DataGrid中选择单个单元格,然后选择单元格内的文本,还是选择整个单元格进行复制+粘贴?它甚至不需要复制成excel友好格式,平面文本也没关系.到目前为止,我只能选择整行,而且似乎并没有很好地复制.我正在使用DataGrid来显示错误日志,我希望能够将堆栈跟踪信息复制出来并将其丢入错误报告或电子邮件中.
谢谢.
这是在python 2.4中.这是我的情况.我从一个数据库中提取一个字符串,它包含一个umlauted'o'(\ xf6).此时,如果我运行type(value),则返回str.然后我尝试运行.decode('utf-8'),我得到一个错误('utf8'编解码器无法解码1-4位的字节).
真的,我的目标就是成功使类型(值)返回unicode.我发现一个早期的问题 有一些有用的信息,但是所选答案中的例子似乎并不适用于我.我在这里做错了吗?
这是一些重现的代码:
Name = 'w\xc3\xb6rner'.decode('utf-8')
file.write('Name: %s - %s\n' %(Name, type(Name)))
Run Code Online (Sandbox Code Playgroud)
我从来没有真正进入write语句,因为它在第一个语句中失败了.
谢谢您的帮助.
编辑:
我验证了DB的字符集是utf8.因此,在我的代码重现中,我将'\ xf6'更改为'\ xc3\xb6',但仍然会发生故障.'utf-8'和'utf8'之间有区别吗?
使用编解码器写入文件的提示很方便(我肯定会使用它),但在这种情况下,我只是为了调试目的而写入日志文件.
使用.prototype而不是在对象本身内声明函数和成员的技术原因是什么.用代码示例解释是最容易的.
使用有什么好处:
RobsObject = function(data){
this.instanceID = data.instanceID;
this._formButton = document.getElementById('formSubmit_' + this.instanceID);
if(this._formButton)
{
//set a click listener that
//points to this._onSubmit, this._onSuccess, and this.onFailure
}
};
RobsObject.prototype = {
_onSubmit: function(type, args)
{
//make an ajax call
},
_onSuccess: function(type, args)
{
//display data on the page
},
_onFailure: function(type, args)
{
//show an alert of some kind
},
};
Run Code Online (Sandbox Code Playgroud)
反对在Object中声明你的函数,如:
RobsObject = function(data){
this.instanceID = data.instanceID;
this._formButton = document.getElementById('formSubmit_' + this.instanceID);
if(this._formButton)
{
//set a click listener …Run Code Online (Sandbox Code Playgroud) 是否有在Flex 3中显示多行文本的解决方法?到目前为止我尝试过的两个控件是mx:Text和mx:TextArea.每个控件都有自己的错误.供参考:mx:Text bug - http://bugs.adobe.com/jira/browse/SDK-9819 mx:TextArea bug - http://bugs.adobe.com/jira/browse/SDK-12616.基本上,如果您没有指定高度并且文本换行到下一行,则两个控件都不会正确处理滚动(高度由Flex动态确定,基于换行).有没有人有一个可能有用的解决方法?
谢谢.
更新:我过去尝试过的方法之一是手动计算mx:Text元素的高度.我可以通过使用以下方法来做到这一点:
var textItem:Text = new Text();
var len:int = value.length;
var lines:int = int(len/115) + 1;
var height:int = lines * 20;
textItem.height = height;
Run Code Online (Sandbox Code Playgroud)
虽然这似乎解决了mx:Text中的问题,但是有一个大错误.计算在很大程度上依赖于font-size,letter-spacing和textItem的宽度.我可以使用这个方法,继续我的项目.但是,对此的维护是不可避免的,并且使用这样的代码,它将是一个巨大的PITA.
我正在阅读David Walsh关于使用MooTools创建精灵菜单的帖子.我是MooTools的新手,我不明白他打开剧本的方式.特别是,是什么
(function($){
..
})(document.id)
Run Code Online (Sandbox Code Playgroud)
它是一种JS闭包吗?
如果您不想关注该链接,请参阅完整脚本:
(function($) {
window.addEvent('domready',function() {
$('nav').getElements('li').each(function(li) {
//settings
var link = li.getFirst('a');
//fix background image
if(!li.hasClass('current')) {
link.setStyle('background-image','none');
}
//utility div
var div = new Element('div',{
'class': 'nav-' + li.get('id'),
opacity: 0
}).inject(li);
//background imagery
li.addEvents({
mouseenter: function() {
div.fade('in');
},
mouseleave: function() {
div.fade('out');
},
mousedown: function() {
div.addClass('nav-' + li.get('id') + '-click');
},
mouseup: function() {
div.removeClass('nav-' + li.get('id') + '-click');
}
});
});
});
})(document.id);
Run Code Online (Sandbox Code Playgroud) apache-flex ×2
javascript ×2
copy-paste ×1
datagrid ×1
declaration ×1
decode ×1
function ×1
mootools ×1
python ×1
unicode ×1