我正在努力将重点放在GWT对话框上.我正在尝试组建一个非常友好的键盘界面,所以当我的对话框出现时(一个简单的是/否/取消事件)我需要让键盘焦点自动切换到"是"按钮.然而,尽管我付出了最大的努力,但似乎无法将重点放在需要编程的地方.我现在的代码如下所示:
public abstract class ConfirmDialog extends DialogBox {
final Button yesBtn, noBtn, cancelBtn;
public ConfirmDialog(String title, String prompt) {
super(false);
setTitle(title);
setText(title);
setGlassEnabled(true); // For great modal-ness!
DockLayoutPanel buttonPanel = new DockLayoutPanel(Unit.PX);
buttonPanel.setHeight("25px");
buttonPanel.addEast(cancelBtn, 75);
buttonPanel.addEast(noBtn, 60);
buttonPanel.addEast(yesBtn, 60);
FlowPanel dialogPanel = new FlowPanel();
dialogPanel.add(new HTML(prompt));
dialogPanel.add(buttonPanel);
setWidget(dialogPanel);
}
@Override
public void show() {
super.show();
center();
yesBtn.setFocus(true); // Why does this hate me???
}
}
Run Code Online (Sandbox Code Playgroud)
省略:许多按钮点击事件处理不会影响初始显示.
无论如何,正如您从代码中看到的那样,目的是一旦显示对话框,"是"按钮就会获得焦点.我已经尝试了它,如代码示例中所示,我已将焦点放在DeferredCommand中,我已尝试挂钩其他事件......但最好的焦点有点随机.
我想这可能只是一个时间问题(也许我在将它添加到DOM之前尝试将重点放在按钮上?)但是如果是这样的话我不知道应该注意什么时候让我知道我可以有效地给按钮重点.任何提示?
谢谢!
有可能以某种方式在Java项目中使用Zend附带的一些PHP类吗?我想总有办法,但是怎么样?
你能在类中创建一个装饰器来查看类方法和变量吗?
这里的装饰者没有看到:self.longcondition()
class Foo:
def __init__(self, name):
self.name = name
# decorator that will see the self.longcondition ???
class canRun(object):
def __init__(self, f):
self.f = f
def __call__(self, *args):
if self.longcondition(): # <-------- ???
self.f(*args)
# this is supposed to be a very long condition :)
def longcondition(self):
return isinstance(self.name, str)
@canRun # <------
def run(self, times):
for i in xrange(times):
print "%s. run... %s" % (i, self.name)
Run Code Online (Sandbox Code Playgroud) 我正在努力完成一个看似简单的任务,这个任务已经变成了几个小时的冒险:@@Identity来自TableAdapter.Insert().
这是我的代码:
protected void submitBtn_Click(object sender, EventArgs e)
{
AssetsDataSetTableAdapters.SitesTableAdapter sta = new AssetsDataSetTableAdapters.SitesTableAdapter();
int insertedID = sta.Insert(siteTxt.Text,descTxt.Text);
AssetsDataSetTableAdapters.NotesTableAdapter nta = new AssetsDataSetTableAdapters.NotesTableAdapter();
nta.Insert(notesTxt.Text, insertedID, null,null,null,null,null,null);
Response.Redirect("~/Default.aspx");
}
Run Code Online (Sandbox Code Playgroud)
一个答案表明,我可能要做的就是改变ExecuteMode.我试过了.这使得GetData()退出工作(因为我现在返回一个标量而不是rowdata)(我需要保留GetData()).它也没有解决insertID变量仍然设置为1的问题.
我试图创建第二个TableAdapter在TypedDataSet.XSD和设置属性为适配器"标",但它仍然无法与变量中获得的值为1.
生成的insert命令是
INSERT INTO [dbo].[Sites] ([Name], [Description]) VALUES (@Name, @Description);
SELECT Id, Name, Description FROM Sites WHERE (Id = SCOPE_IDENTITY())
Run Code Online (Sandbox Code Playgroud)
并且还设置了"刷新数据表"(在Insert和Update语句之后添加select语句以检索Identity).
环境
SQL Server 2008 R2,Visual Studio 2010,.NET 4,Windows XP,所有本地同一台机器.
是什么导致了这个?
编辑/ UPDATE
我想澄清我在Visual Studio中使用自动生成的代码.我不知道生成代码的"工具"是什么,但如果双击*.XSD文件,它会显示SQL表模式的UI和关联的TableAdapter.我想继续使用自动生成的代码,并以某种方式启用获取身份.我不想用存储过程手动编写这一切.
我在Django中使用会话来存储登录用户信息以及一些其他信息.我一直在浏览Django会话网站,但仍然有一些问题.
来自Django网站:
默认情况下,Django将会话存储在您的数据库中(使用该模型
django.contrib.sessions.models.Session).虽然这很方便,但在某些设置中,将会话数据存储在其他地方的速度更快,因此可以将Django配置为在文件系统或缓存中存储会话数据.
也:
对于持久性缓存数据,请设置
SESSION_ENGINE为django.contrib.sessions.backends.cached_db.这使用直写高速缓存 - 每次写入高速缓存也将写入数据库.如果数据尚未存在于缓存中,则会话只读使用数据库.
有一个很好的经验法则可以使用哪一个?cached_db似乎总是一个更好的选择,因为最好的情况是,数据在缓存中,最坏的情况是它在数据库中无论如何都是如此.一个缺点是我必须设置memcached.
默认情况下,
SESSION_EXPIRE_AT_BROWSER_CLOSE设置为False,这意味着会话cookie将存储在用户的浏览器中SESSION_COOKIE_AGE.如果您不希望每次打开浏览器时都必须登录,请使用此选项.
是否可以同时使用,会话在浏览器关闭时到期并给出年龄?
如果value是一个整数,则会话将在该多次不活动后过期.例如,调用
request.session.set_expiry(300)会使会话在5分钟后到期.
什么被认为是"不活跃"?
如果您正在使用数据库后端,请注意会话数据可能会累积在
django_session数据库表中,而Django不会提供自动清除.因此,您的工作是定期清除过期的会话.
这意味着,即使会话过期,我的数据库中仍有记录.究竟哪里会把代码放到"清除数据库"?我觉得你需要一个单独的线程来每隔一段时间(每小时?)浏览数据库并删除任何过期的会话.
我有一个具有 Command 属性的按钮。但是,我希望禁用该按钮(用户无法单击它),直到单击另一个按钮。例如,用户只能在单击“新建”按钮后单击“保存”按钮
所以我做了以下事情
<telerik:RadButton Content="Save" Height="22" HorizontalAlignment="Right" Margin="0,0,72,25" Name="saveRBtn" VerticalAlignment="Bottom" Width="43" Grid.Column="5" Grid.Row="4"
IsEnabled="False"
Command="{Binding Path=LoadCommand, ElementName=documentLineDomainDataSource}"
Click="saveRBtn_Click"/>
Run Code Online (Sandbox Code Playgroud)
但是,如果我在代码中取出命令属性时具有 Command 属性,则设置 IsEnabled = False 似乎不会禁用该按钮,然后设置 IsEnabled = false 工作正常
不确定为什么如果 Command 属性存在,IsEnabled 设置将不起作用。
请帮助我
谢谢
Haskell wiki显示您需要设置编译标志和运行时标志以获得多核支持.为什么不使用足够的库来在编译时获得正确的行为?为什么运行时可执行文件检测不到它是使用-threaded编译并使用系统上的所有核心,除非另有说明?我认为默认情况下打开这些会更好.然后可能会有标志关闭或修改这些功能.
http://www.haskell.org/haskellwiki/GHC/Concurrency#Multicore_GHC说:
让标志必须在编译时和运行时再次设置似乎有些繁琐.这些标志是否是为GHC增加并发性的遗留因素?
我有一个ASP.Net站点(碰巧是MVC,但这里没有关系),我想要缓存的几页很好.
具体来说,我想实现:
(注意 - 以上时间值仅供参考)
但我似乎无法让所有这些东西一起工作.这就是我所拥有的:
Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetETagFromFileDependencies();
Response.Cache.SetValidUntilExpires(true);
Response.Cache.SetMaxAge(TimeSpan.FromSeconds(60 * 10));
Run Code Online (Sandbox Code Playgroud)
我想要的场景可能吗?特别是:
谢谢你的任何提示!
asp.net ×2
c# ×2
python ×2
.net ×1
asp.net-mvc ×1
caching ×1
class-method ×1
concurrency ×1
decorator ×1
django ×1
gwt ×1
haskell ×1
http-headers ×1
java ×1
multicore ×1
outputcache ×1
php ×1
session ×1
silverlight ×1
sql ×1
tableadapter ×1
version ×1