为啥Gridview模板中没有ItemTemplate模板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥Gridview模板中没有ItemTemplate模板相关的知识,希望对你有一定的参考价值。

本应该有的

点GridView右上角的小箭头,选择编辑列,将一个TemplateField加入到GridView中,再选编辑模板中就有ItemTemplate了,可以查看源代码,里面就有相关代码,虽然过去快一年了,但顺便查到这了,就说一声。 参考技术A 有呀!~我今天刚用的
<asp:TemplateField HeaderText="打开文件">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemTemplate>
<asp:ImageButton ID="imgbtnSelect" ImageUrl="~/images/ui/icon_view.gif" CommandName="select" Width="16px" CommandArgument='<%# Eval("id") %>' Height="15px" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
参考技术B 这个可以有的。
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
DisplayIndex : <%# Container.DisplayIndex %> || DataItemIndex : <%# Container.DataItemIndex %><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
参考技术C 你还是去问一下微软的人吧

yii2 模板twig中使用GridView::widget

yii框架twig模板中使用GridView::widget 需要这样写:

{{ grid_view_widget({
        ‘dataProvider‘: provider,
        ‘columns‘: [
            ‘id‘,
            {‘attribute‘ : ‘create_user_id‘, ‘label‘ : ‘用户ID‘},
            {‘attribute‘ : ‘category_id‘,‘value‘:ticketCategory, ‘label‘ : ‘问题分类‘},
            {‘attribute‘ : ‘language‘, ‘value‘:languageAction, ‘label‘ : ‘语言‘},  //languageAction为需要单独处理的数据,模板不支持PHP语法,需要从控制器返回
            {‘attribute‘ : ‘support_user_id‘,‘value‘:supportUser, ‘label‘ : ‘受理人‘},
            {
                ‘attribute‘: ‘create_time‘,
                ‘format‘:[‘datetime‘, ‘yyyy-MM-dd HH:mm:ss‘],
                ‘label‘: ‘ 创建时间‘,
            },
            {
                ‘attribute‘: ‘update_time‘,
                ‘format‘:[‘datetime‘, ‘yyyy-MM-dd HH:mm:ss‘],
                ‘label‘: ‘ 更新时间‘,
            },
            {
                ‘attribute‘: ‘response_time‘,
                ‘value‘:responseTime,
                ‘label‘: ‘ 响应时间(分)‘,
            },
            {‘label‘:‘操作‘, ‘value‘:actionFunction, ‘format‘:‘raw‘},
        ]
    }) }}

  

  模板里面不支付PHP写法,比如language字段value值数据库存入标识,而前台页面需要显示对应表示的内容,可以在控制器层将数据处理好,以变量的方式发送到前端页面:

$languageAction = function ($model)
        {
            switch ($model->language)
            {
                case Ticket::LANGUAGE_ZH :
                    return $model->language = ‘中文‘;
                case Ticket::LANGUAGE_EN :
                    return $model->language = ‘英文‘;
                case Ticket::LANGUAGE_OTHER :
                    return $model->language = ‘其他‘;
            }
        };

return $this->controller->render(‘index‘,[‘provider‘ => $data,‘languageAction‘ => $languageAction]);

  

 


以上是关于为啥Gridview模板中没有ItemTemplate模板的主要内容,如果未能解决你的问题,请参考以下文章

Gridview中checkbox选择绑定字段时为啥是不可编辑的

asp.net动态添加GridView的模板列,并获取列值

android中gridview的item为啥不能居中

为啥 GridView 不在 asp:Panel 中显示数据

为啥数据表不适用于gridview? [复制]

gridview 分页问题,成功分页了,为啥点击第x页时显示空白?