如何在Yii2中删除特定网格视图的摘要和排序器.在Yii1.1中,我们可以通过设置模板属性来实现.在yii2中如何实现这一目标?
搜索我发现可能的方法是使用UICollectionView,所以没有问题,因为有很多关于Stack Overflow的教程和问题.我有3个问题:
我找不到任何关于"分隔符"(划分所有框的行).我喜欢它不会水平触摸屏幕边框.它是以编程方式完成的吗?
为了在所有设备中平均分配空间(水平3个盒子/按钮),我找到了这个答案答案.这是正确的方法吗?
对于模糊效果,我找到了这个答案: 如何在UITableView中使用自适应segue实现UIVisualEffectView
对于TableView它将是:
if (!UIAccessibilityIsReduceTransparencyEnabled()) {
tableView.backgroundColor = UIColor.clearColor()
let blurEffect = UIBlurEffect(style: .Light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
tableView.backgroundView = blurEffectView
}
Run Code Online (Sandbox Code Playgroud)
我可以这样做吗?
@IBOutlet var collectionView: UICollectionView!
if (!UIAccessibilityIsReduceTransparencyEnabled()) {
collectionView.backgroundColor = UIColor.clearColor()
let blurEffect = UIBlurEffect(style: .Light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
collectionView.backgroundView = blurEffectView
}
Run Code Online (Sandbox Code Playgroud) 我试图在GridView中显示一个动态增长的字符串列表,其中包含一个复选框,GridView本身位于TableLayout中.
我可以连续显示这些"已复选"的字符串.当我让用户在GridView中动态添加新字符串时,我的问题出现了.
我创建了一个接收字符串列表的自定义适配器.假设我们有n个字符串.适配器为项目计数返回'n + 1'; 在getView中,它返回:
到现在为止还挺好.单击"+"按钮时,我将一个空字符串添加到字符串列表中,并在适配器中调用notifyDataSetChanged.
GridView重新绘制了一个项目.但它保持原始高度并创建一个垂直滚动条.我希望GridView扩展它的高度(即在屏幕上占用更多空间并显示所有项目).
我试图将屏幕更改为垂直LinearLayout而不是TableLayout,但结果是相同的.
这是我的屏幕布局:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<!-- other lines omitted -->
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/wine_rack_explanation"
android:layout_gravity="center_vertical" />
<GridView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/gvRack"
android:columnWidth="90dp"
android:numColumns="auto_fit" />
</LinearLayout>
<!-- other lines omitted -->
</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
适配器中的复选框+字符串项定义如下:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cbCoordinate"
android:checked="true"
/>
<EditText android:id="@+id/txtCoordinate"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
"+"按钮项定义如下:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/btnAddBottle" …Run Code Online (Sandbox Code Playgroud) FindControl如果我需要找到Control内部的任何内容GridView Template,更具体地说,方法是如何工作的ItemTemplate?
我有一个,hyperlink但它无法找到相同的.
用代码更新问题
GridView 代码如下:
<asp:GridView ID="grvYourOpportunities" runat="server" AllowPaging="True" AutoGenerateColumns="False"
DataKeyNames="ID#,B,H" PageSize="20" CellPadding="4" ForeColor="#333333" GridLines="Both"
OnRowDataBound="grvYourOpt_RowDataBound">
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
i
</HeaderTemplate>
<ItemTemplate>
<%# Eval("i") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
H
</HeaderTemplate>
<ItemTemplate>
<%--<a href="javascript:ShowChildGrid('div<%# Eval("ID#") %>');">
<img id="imgdiv<%# Eval("ID#") %>" alt="Click" border="0" src="plus.gif" runat="server" /> </a> --%>
<asp:HyperLink runat="server" ID="hlPlus" ImageUrl="~/plus.gif"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
B
</HeaderTemplate>
<ItemTemplate>
<%--<%# Eval("B") %>--%> …Run Code Online (Sandbox Code Playgroud) 我正在处理的应用程序中有一个GridView.我希望能够通过拖放重新排序GridView中的项目.我已经为ListViews找到了很多帮助,但在GridViews上没有任何帮助.我希望在此启动器应用http://www.youtube.com/watch?v=u5LISE8BU_E&t=5m30s中实现此类行为.有任何想法吗?
我有一个GridView显示人员记录.我想有条件地显示CommandField或ButtonField基于底层记录的某些属性.我们的想法是只允许对特定人员执行命令.
做这个的最好方式是什么?我更喜欢程序性的声明性解决方案.
我有一个显示图像的GridView,不幸的是,这些图像的大小不同.它们显示在两行文本之间:
text1.1 text1.2
ImageView(IMAGE1) ImageView(IMAGE2)
text2.1 text2.2
text3.1
ImageView(IMAGE3)
text4.1
Run Code Online (Sandbox Code Playgroud)
等等....
如果IMAGE1是相同的高度IMAGE2,一切都很好,但如果IMAGE1是长比IMAGE2,text2.1会碰上text3.1(填充似乎没有多大帮助,因为有太多的它,当图像的同样的高度).
我知道有一种方法可以在ImageView中拉伸图像,因此它们的高度相同,但是可以保持图像不变并以某种方式设置行高吗?
即使在指定Container GridView的高度之后,我的代码也会生成方形小部件.
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
List<String> widgetList = ['A', 'B', 'C'];
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: new Container(
child: new GridView.count(
crossAxisCount: 2,
controller: new ScrollController(keepScrollOffset: false),
shrinkWrap: true,
scrollDirection: Axis.vertical,
children: widgetList.map((String value) {
return new Container(
height: 250.0,
color: Colors.green,
margin: new EdgeInsets.all(1.0),
child: …Run Code Online (Sandbox Code Playgroud) 我有一个GridView在Asp.net应用程序控制,具有<asp:buttonField>的type="image"和CommandName="Delete".
在到达OnRowDelete活动之前有没有办法执行一段javascript ?
我想在删除行之前进行简单的确认.
谢谢!
编辑:请注意,<asp:ButtonField>标签不具备的OnClientClick属性.