我有一个带有我自己的自定义渲染器的Spark列表.当用户滚动列表中的项目时,左侧和右侧按钮出现在行中,允许用户更改正在呈现的值的值.例如,如果有5个优先级(1到5),则左按钮减小值,右按钮增加值.
快速注意:它们不是真正的按钮,而是s:图像设计像按钮一样工作.
现在这个工作正常,除了在一个特定条件下:如果用户选择行,然后将光标移出行,然后返回到行,当用户单击任一按钮时,没有任何反应.即使这种情况听起来令人费解,但测试用户仍然会这样做!这对他们来说真的很令人沮丧.
我发现了这种行为的原因:按钮仅显示在项呈示器的悬停和选定状态中.这就是我想要发生的事情 - 按钮不应该是可见的,除非用户的指针能够按下它们.在列表中选择项目时,渲染器的状态将转到选中状态.再次单击不会更改状态.将指针移出行,然后再次返回并单击(在已选择的行上)使行的状态从选定状态变为正常状态(鼠标按下时)并返回到选定状态(在鼠标按下时).我发现这很奇怪!这意味着按钮实际上在处于正常状态时(它应该)因此没有被点击而消失.
我曾经考虑过,不知何故,我可以在项目渲染器的Z顺序中将图像"更高",因此它们会在项目渲染器获取之前拦截click事件,但我无法使其工作.
有人可以帮忙吗?
如果有帮助,ItemRenderer的片段如下:
<s:HGroup width="150" verticalAlign="middle" verticalCenter="0">
<s:Image id="previousItemButton" buttonMode="true" source="{_leftArrow}" width="16" height="16" visible.normal="false" visible.hovered="true" visible.selected="true" click="previousClicked(event)"/>
<s:Label text="{data.outputFormat.value}" width="100%" click="nextClicked(event)"/>
<s:Image id="nextItemButton" buttonMode="true" source="{_rightArrow}" width="16" height="16" visible.normal="false" visible.hovered="true" visible.selected="true" click="nextClicked(event)"/>
</s:HGroup>
Run Code Online (Sandbox Code Playgroud)
更新:
该问题是由构成ItemRenderer的组件的最高级别上的虚假rollOut事件引起的.这个rollOut称为一个方法,它包括:
protected function hgroup1_rollOutHandler(event:MouseEvent):void {
if (this.selected) {
this.selected = false;
}
}
Run Code Online (Sandbox Code Playgroud)
这导致了问题并删除了rollOut,该方法解决了这个问题.我不知道为什么在mouseDown上激活转出的原因.
我试图建立一个Maven项目,它将包含我想在我的Hive查询中使用的用户定义函数(UDF).我开始使用不包含源文件的Maven项目,以及以下POM:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>exp</groupId>
<artifactId>HiveUdfTestProject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>0.14.0</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
当我尝试构建项目时,出现以下错误:
无法在项目HiveUdfTestProject上执行目标:无法解析项目exp的依赖项:HiveUdfTestProject:jar:1.0-SNAPSHOT:无法解析以下工件:org.apache.calcite:calcite-core:jar:0.9.2-incubating- SNAPSHOT,org.apache.calcite:calcite-avatica:jar:0.9.2-incubating-SNAPSHOT:找不到工件org.apache.calcite:calcite-core:jar:0.9.2-incubating-SNAPSHOT - > [帮助1 ]
在Yarn和EMR上运行Spark 1.3.1.当我运行spark-shell时,一切看起来都很正常,直到我开始看到这样的消息INFO yarn.Client: Application report for application_1439330624449_1561 (state: ACCEPTED).这些消息是无休止地生成的,每秒一次.同时,我无法使用Spark shell.
我不明白为什么会这样.
我正在尝试使用hadoop fs -get将数TB的数据从hdfs加载到本地,但是要花费数小时才能完成此任务。是否存在将hdfs中的数据获取到本地的另一种有效方法?
请考虑以下代码:
// check record exists
Adjuster adj = new Adjuster();
if (db.Adjusters.Where(x => x.userID == user.id).Any())
{
adj = db.Adjusters.Where(x => x.userID == user.id).FirstOrDefault();
}
else
{
// create adjuster record
adj.id = Guid.NewGuid();
adj.userID = user.id;
db.Adjusters.InsertOnSubmit(adj);
}
Run Code Online (Sandbox Code Playgroud)
注意我先打电话.Any()然后打电话.FirstOrDefault().这将是对数据库的两个单独查询,对吧?我怎样才能将其限制为一个?
现在,请考虑以下代码:
adj.isPropertyAdjuster = user.SomeEntity.someProperty;
adj.isCasualityLiabilityAdjuster = user.SomeEntity.someProperty;
adj.isLargeLossAdjuster = user.SomeEntity.someProperty;
db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
使用LINQ/EF,我可以访问与彼此有关系的不同实体.但是,每次我这样做时,这不会引起对数据库的多次调用吗? 例如,这三个单独的数据库调用是什么?
adj.isPropertyAdjuster = user.SomeEntity.someProperty;
adj.isCasualityLiabilityAdjuster = user.SomeEntity.someProperty;
adj.isLargeLossAdjuster = user.SomeEntity.someProperty;
Run Code Online (Sandbox Code Playgroud)
如何将此限制为对数据库的单一调用?我假设唯一的方法是实例化一个这样的对象:
SomeEntity obj = user.SomeEntity;
Run Code Online (Sandbox Code Playgroud)
然后,像这样调用属性:
adj.isPropertyAdjuster = obj.someProperty;
Run Code Online (Sandbox Code Playgroud)
你的想法是什么?
hadoop ×2
apache-flex ×1
apache-spark ×1
bigdata ×1
c# ×1
emr ×1
hadoop-yarn ×1
hdfs ×1
hive ×1
itemrenderer ×1
linq-to-sql ×1
list ×1
maven ×1
onclick ×1