在具有多列的树中,如何在展开/折叠和数据更新时将列重新调整为内容?
与...一样:
tree.addListener(SWT.Collapse, new Listener(){
@Override
public void handleEvent(Event e) {
expandAndResize(false, (TreeItem) e.item);
}
});
tree.addListener(SWT.Expand, new Listener() {
@Override
public void handleEvent(Event event) {
expandAndResize(false, (TreeItem) event.item);
}
});
private static void expandAndResize(Boolean expand_, TreeItem item_)
{
System.out.println( (expand_?"Expanding":"Collapsing") + "item={" + item_ + "}");
item_.setExpanded(expand_);
System.out.println(" Resizing columns");
resizeTree(item_.getParent());
}
private static void resizeTree(Tree tree_)
{
for (TreeColumn tc: tree_.getColumns())
resizeTreeColumn(tc);
}
private static void resizeTreeColumn(TreeColumn treeColumn_)
{
treeColumn_.pack();
}
Run Code Online (Sandbox Code Playgroud)
这适用于数据更新(通过调用resizeTree),但对于扩展/折叠,它落后一步! …
我们的应用程序需要Active Directory才能让用户访问它.我们的目标是分离业务逻辑和安全性.
这是我尝试做但未成功的事情:
通过连接到Active Directory web.config.
.aspx在web.config文件中指定每个页面所需的组.(如:index.aspx = admin, users)
如果用户的组与预期凭据不匹配,则将用户重定向到错误页面.
完成所有这些操作而不在我的实际页面中添加任何代码(从安全性中分离业务逻辑).
你对此有何建议?我在网上发现了许多关于Active Directory的例子,但他们并没有按我的意愿行事.
我需要一个正则表达式来匹配之前的所有内容,并且需要匹配某个字符之后的所有内容,例如冒号.
foo:bar
Run Code Online (Sandbox Code Playgroud)
匹配'foo'的东西和匹配'bar'的东西.
我目前正在为一家公司开发一个MVC Style框架,出于安全考虑,我需要确保通过Query String传递的控制器/方法是RFC的有效字符(我找不到).
我需要能够根据PHP解释器允许的内容来验证/清理类名
例如:
class SomEFunk__YClAssName extends Controller
{
}
Run Code Online (Sandbox Code Playgroud)
我需要某种正则表达式来验证SomEFunk__YClAssName和消毒它,如果需要的话!这也是与方法相同的原则.
有一些事情需要考虑,比如
关于这个或可能表达的任何信息都会非常有用.
这是我的一些路由器代码,因此您可以看到我需要实现它的位置:
private function prepareQueryString()
{
if(strlen($this->query_string) == 0)
{
return;
}
//Remove [ending|starting|multiple] slashes
$this->query_string = preg_replace('/^\/+|\/+$|\/(?=\/)/', '', $this->query_string);
foreach(explode('/',$this->query_string) as $Key => $Value)
{
if($Key == 0)
{
$Controller = $this->AssignController($Value);
}
if($Key == 1)
{
$this->AssignMethod($Value);
}else
{
$this->AssignParam($Value);
}
}
//Build RouterVar stdClass
}
public function AssignController(String $Controller)
{
if(!empty($Controller))
{
//Sanitize
}
}
public function AssignMethod(String $Method) …Run Code Online (Sandbox Code Playgroud) 我正在尝试从活动目录组中获取用户列表和有关用户的一些属性.
更新:
以下是我目前拥有的两种方法:
Dim adGroup As New DirectoryEntry("LDAP://CN=MyGroup,OU=Groups,OU=Accounts,OU=All,DC=domain,DC=com")
Dim adMembers As Object
Dim objUser As ActiveDirectoryUser
Dim objUserList As New List(Of ActiveDirectoryUser)
Dim directoryEntry As DirectoryEntry
adMembers = adGroup.Invoke("Members", Nothing)
For Each adMember As Object In CType(adMembers, IEnumerable)
directoryEntry = New DirectoryEntry(adMember)
objUser = New ActiveDirectoryUser
objUser.UserId = directoryEntry.Properties.Item("sAMAccountName").Value.ToString()
objUser.Contract = directoryEntry.Properties.Item("ou").Value.ToString()
objUser.LastName = directoryEntry.Properties.Item("sn").Value.ToString()
objUser.FirstName = directoryEntry.Properties.Item("givenName").Value.ToString()
objUser.Email = directoryEntry.Properties.Item("mail").Value.ToString()
objUserList.Add(objUser)
Next
Run Code Online (Sandbox Code Playgroud)
第一部分有效,但看起来效率很低.我的内存使用率随着执行而攀升和爬升,我得到了这个错误,虽然它看起来可以修复.第二种方法:
Dim results As SearchResultCollection
Dim directoryEntry2 As New DirectoryEntry("LDAP://DC=domain,DC=com")
Dim directorySearcher As New DirectorySearcher(directoryEntry2) …Run Code Online (Sandbox Code Playgroud) 你可以在模板中调用模板吗?例如:
如果我想要使用
<xsl:choose>
<xsl:when test="//*[local-name()='RetrieveCCTransRq']">
<xsl:call-template name="SOAPOutput"/>
</xsl:when>
</xsl:choose>
<xsl:template name="SOAPOutput">
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<OutputPayload>
<TotalTransactions>
<xsl:value-of select="count(//Transaction)"/>
</TotalTransactions>
<Transactions>
<xsl:apply-templates/>
</Transactions>
</OutputPayload>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<xsl:template match="Transaction">
<xsl:choose>
<xsl:when test="contains(Type,'Debit')">
<Debit>
<xsl:apply-templates select="Date"/>
<xsl:apply-templates select="PostDate"/>
<xsl:apply-templates select="Description"/>
<xsl:apply-templates select="Amount"/>
</Debit>
</xsl:when>
<xsl:otherwise>
<Credit>
<xsl:apply-templates select="Date"/>
<xsl:apply-templates select="PostDate"/>
<xsl:apply-templates select="Description"/>
<xsl:apply-templates select="Amount"/>
</Credit>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="Date">
<Date>
<xsl:value-of select="."/>
</Date>
</xsl:template>
<xsl:template match="PostDate">
<PostDate>
<xsl:value-of select="."/>
</PostDate>
</xsl:template>
<xsl:template match="Description">
<Description>
<xsl:value-of select="."/>
</Description>
</xsl:template>
<xsl:template match="Amount">
<Amount>
<xsl:value-of select="."/> …Run Code Online (Sandbox Code Playgroud) 我有兴趣编写一个应用程序,可以确定如何在可容纳10人的桌子上安排2-10人组.可能会有大约15个桌子和140个人.我不想打破任何一群人.
这似乎是一个常见的问题,我想知道是否有人有任何关于我应该从哪里开始寻找解决方案的建议.任何链接或建议表示赞赏.
这是我的HTML:
<div id='automail'>
<form action = "/admin/mail" method = "get">
auto mail when user :<br/><br/>
<div>
<input type="checkbox" name="automail" value ="signup">signUp</input><br/>
<input type="checkbox" name="automail" value ="login">login</input><br/>
</div>
<div style="text-align:right">
<input type="submit" value="save"></input>
</div>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的python句柄:
class mail(BaseRequestHandler):
def get(self):
all=self.request.get('automail')
if not all:
self.response.out.write('sss')
return
self.response.out.write(all)
Run Code Online (Sandbox Code Playgroud)
当我选择'注册'和'登录'时,它只显示'注册'.
那么如何在gae上使用python从复选框中获取所有数据?
更新:
现在好了,有两种方法:
1.
all=self.request.get_all('automail')
2.
all=self.request.get('automail',allow_multiple=True)
我正在使用
[assetsLibrary enumerateGroupsWithTypes:groupTypes usingBlock:listGroupBlock failureBlock:failureBlock];
Run Code Online (Sandbox Code Playgroud)
枚举相册.
枚举器以"异步"方式运行,换句话说,方法在枚举所有项之前返回.
如何知道枚举何时完成?
我正在使用组填充NSMutableArray,并[myTableView reloadData]在枚举完成后调用.
我仍在使用ctypes在我的c代码的python接口上编写.今天我用python版本替换了我的文件读取功能,这是由其他人使用NumPy编写的.使用byref(p_data)调用'old'c版本,而p_data = PFloat()(见下文).main函数采用p_data.
旧文件阅读:
p_data=POINTER(c_float)
foo.read(filename,byref(p_data))
result=foo.pymain(p_data)
Run Code Online (Sandbox Code Playgroud)
另一方面,python文件读取函数返回NumPy数组.我现在的问题是:
如何将NumPy数组转换为POINTER(c_float)?
我用谷歌搜索,但只发现相反的方式:C数组通过ctypes访问为NumPy数组和我不理解的东西:C类型外部函数接口(numpy.ctypeslib)
[update] 更正了示例代码中的错误