我的模块中有一个cmdlet,它从数据库表中返回一个通用DataRows的集合,其名称用-Name参数指定
# this returns a collection of datarows from table "Orders"
Get-Table -Name Orders
Run Code Online (Sandbox Code Playgroud)
每次我在不同的表上调用cmdlet时,我都会将输出管道化Format-Table,使其更具可读性.
有没有办法保持属性格式化为表,而不必每次都管道Format-Table?是什么告诉PowerShell总是使用表格布局来显示DataRow类型?
我已经有了一个ps1xml文件和模块,包含一些格式规则,如下所示:
<View>
<Name>MyType</Name>
<ViewSelectedBy>
<TypeName>MyNamespace.MyType</TypeName>
</ViewSelectedBy>
<TableControl>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Property1</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Property2</PropertyName>
</TableColumnItem>
[...]
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
Run Code Online (Sandbox Code Playgroud)
我想对System.Data.DataRow类型使用类似的规则,但属性每次都有不同的名称,似乎我无法<TableRowEntries>从上面的XML模板中删除标记.
任何的想法?
我的布局中有两个ImageButtons,"加号"和"减号".我在点击功能中将一个点击监听器附加到"加号"按钮并带有一个简单的Toast消息,它可以工作.
ImageButton btplus = (ImageButton)findViewById(R.id.btplus);
btplus.setOnClickListener( new ImageButton.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "+", Toast.LENGTH_SHORT);
}
});
Run Code Online (Sandbox Code Playgroud)
然后我将第二个点击监听器附加到减去ImageButton ...
ImageButton btminus = (ImageButton)findViewById(R.id.btminus);
btminus.setOnClickListener( new ImageButton.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "-", Toast.LENGTH_SHORT);
}
});
Run Code Online (Sandbox Code Playgroud)
......没有更多的按钮点击工作!"加"点击停止工作.
我在这个主题上看过很多例子,但我看不出他们(工作)和我的有什么区别.