c#.net,Gridview里的<ItemTempPlate>和Eval,求解答。

<Columns><asp:BoundFieldHeaderText="条形码"DataField="card"Visible=false/><asp:BoundFiel... <Columns> <asp:BoundField HeaderText="条形码" DataField="card" Visible=false /> <asp:BoundField HeaderText="商品名称" DataField="id" ReadOnly="True" /> <asp:TemplateField HeaderText="条形码"> <ItemTemplate> <%# Eval("card") %> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="TBCard" Text='<%# Eval("card") %>' runat="server" Width="140px" /> </EditItemTemplate></asp:TemplateField>

这里面的ItemTemplate是模板列,模板列是起到什么作用的?EditItemTemplate是什么?
我是在搜Gridview编辑时看到的上面这些代码。不是太懂。
<%# Eval("card") %>的原理是什么,card是数据列名吧,后台怎么弄、它这个Eval("card")就有值呢

我自己弄的Gridview编辑是如图这个样子的,通过那几个RowEdit等函数在后台实现编辑的。没用到上面搜来的EditItemTemplate。
展开
 我来答
dalmeeme
2015-11-09 · TA获得超过2915个赞
知道大有可为答主
回答量:1493
采纳率:81%
帮助的人:1067万
展开全部
ItemTemplate模板列就是自定义列,里面可以放文本框、按钮、标签等,就是几乎什么都可以放。
EditItemTemplate就是当处于编辑模式时(比如你单击了某行旁边的“编辑”按钮,就会进入编辑模式)原来模板列的地方要显示的东西。
<%# Eval("card") %>就是绑定到GridView的数据源(比如DataTable)里名叫card的字段的值。
更多追问追答
追问

Eval("card") 这个怎么绑定到DataTable,就是怎么指定Eval绑定到某个DataTable呢?

还有,刚才我弄了模板列了。但是是在视图界面弄的,然后它模板列会显示在第一列,怎么放到最后一列去呢

追答
执行以下2句就可以使Eval("card") 起作用。
GridView1.DataSource=dt; //dt是一个datatable
GridView1.DataBind();

自定义的模板列会创建在最前面的,然后才是后面那些自动创建的列。你可以把后面那些列用模板列的方式绑定,这样可以自定义先后位置。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式