问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何响应GridView 控件中的按钮事件

发布网友 发布时间:2022-04-27 14:58

我来回答

2个回答

热心网友 时间:2022-04-27 16:27

GridView 控件具有内置功能,用于进行编辑、删除和分页等操作。还可以添加按钮并使用 RowCommand 事件向控件添加自定义功能。 可以通过下面的方式向 GridView 控件添加自定义功能: 向GridView 控件添加 ButtonField 字段。向GridView 控件中的模板添加 Button、LinkButton 或ImageButton 控件。可以使用事件参数的 CommandName 属性在事件处理程序方法中标识按钮的功能。如果使用的是 ButtonField 或TemplateField 对象,则还可以使用 CommandArgument 属性来标识当前行。使用的是 ButtonField 对象时,CommandArgument 属性自动设置为行索引。使用的是 TemplateField 对象时,控件不会自动设置 CommandArgument 属性。在这种情况下,如果必须在事件处理程序中确定行索引,则可以使用数据绑定表达式将该按钮的 CommandArgument 属性设置为行索引。 响应GridView 控件中的按钮事件将按钮的 CommandName 属性设置为标识其功能的字符串,如“打印”或“复制”。如果使用的是 TemplateField 对象并且必须在事件处理程序方法中访问行索引,则将按钮的 CommandArgument 属性设置为标识当前行的表达式。 下面的示例演示如何将 TemplateField 列中某个按钮的 CommandArgument 属性设置为当前行索引。在该示例中,该列包含一个显示购物车的 Button 控件。<asp:TemplateField> <ItemTemplate> <asp:Button ID="AddButton" runat="server" CommandName="AddToCart" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" Text="Add to Cart" /> </ItemTemplate> </asp:TemplateField> 为GridView 控件的 RowCommand 事件创建一个方法。在该方法中,执行下列操作: 检查事件参数对象的 CommandName 属性来查看传入什么字符串。如果需要,使用 CommandArgument 属性检索包含该按钮的行的索引。为用户单击的按钮执行相应的逻辑。下面的示例演示响应 GridView 控件中的按钮单击的方法。在该示例中,TemplateField 列中的按钮发送命令“AddToCart”。RowCommand 事件处理程序确定被单击的按钮。如果被单击的是购物车按钮,则代码执行相应的逻辑。 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e){ if (e.CommandName == "AddToCart") { // Retrieve the row index stored in the // CommandArgument property. int index = Convert.ToInt32(e.CommandArgument); // Retrieve the row that contains the button // from the Rows collection. GridViewRow row = GridView1.Rows[index]; // Add code here to add the item to the shopping cart. } } posted @ 2009-04-10 18:33 minmin8110 阅读(246) | 评论(0) | 编辑如何动态设置GridView 列宽默认情况下,会自动调整 GridView 控件中列的大小。列将呈现为不含宽度信息的 HTML 表单元格(td 元素);大多数浏览器都会调整表单元格的大小以适应列中最宽的内容。 如果需要,您可以通过编程方式设置 GridView 控件中个别列的宽度。如果列的宽度取决于只在运行时提供的信息,则这种方式非常有用。例如,您可能要根据列的内容(即根据 GridView 控件绑定到的数据)调整列的大小。 设置列宽的基本方法包括设置列模板的 Width 属性。如果希望根据列的内容设置宽度,可以处理 RowDataBound 事件。这使得您可以检查行中的数据。 动态设置列宽在代码中,将 GridView 控件列的 ItemStyle 属性的 Width 属性设置为所需的宽度。 下面的代码示例说明如何将 GridView1 控件中所有列的宽度设置为用户在文本框中输入的值。protected void Button1_Click(object sender, EventArgs e){ try { int colWidth = Int16.Parse(Server.HtmlEncode(TextBox1.Text)); if (colWidth > 0) { for (int i = 0; i < GridView1.Columns.Count; i++) { GridView1.Columns[i].ItemStyle.Width = colWidth; } } } catch { // Report error. }}根据数据内容设置列宽创建RowDataBound 事件的处理程序。 每次在网格中的新行绑定数据时,都会引发 RowDataBound 事件,而且该事件将授予您对每行中数据的访问权限。在事件处理程序中,执行下列操作: 创建DataRowView 对象并为其分配当前网格行的 DataItem 值。 DataItem 属性将被类型化为一个对象。因此,您必须强制转换该属性。测试数据行 (DataControlRowType) 以确保您使用的是数据绑定行而不是页眉或页脚。从DataRowView 对象提取要检查的数据值。设置ItemStyle 属性的 Width 属性。将ItemStyle 属性的 Wrap 属性设置为 false。 如果Wrap 属性为 false,则会自动调整列的大小。下面的代码示例说明在设置某一列(在本例中为第三列)的宽度时如何根据上一列中最宽数据元素的宽度进行设置。将为 GridView 控件所显示的每个数据行调用一次 RowDataBound 事件处理程序。这段代码将最宽元素的字符数存储在受保护的页成员中,并将列的宽度设置为字符数乘以 30(任意乘数)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见穿堂风 没有爱情我们一样会快乐的对吗 没有爱情的人会快乐么? 解除合同的效力有什么 合同解除会产生什么法律效力 合同解除后,哪些条款仍具效力? 合同解除产生哪些效力呢 民法典中合同解除产生哪些效力 解除合同的效力有哪些 济南七中学校怎么样 牛建民是什么电视剧 百合程建国是什么电视剧 姓名:李健明,但是健明有点谐音“贱民”的意思,日常工作学习中可能会带来一些不愉快,我有必要改名字吗 Gridview ButtonField事件怎么操作? 原材料库房管理中经常遇到的问题,这种问题应该如何处理? 仓库原材料名称管理 砼原料仓库管理办法是什么?? 仓库原材料管理 原材料仓库管理 如何对原材料物流进行管理 苹果5qq通知闭屏震动在呢里关啊 datagridview 有哪些常用的事件 西安交大的本科工商管理该怎么转啊 就是如果考到了西交的其他专业的话 有什么要求啊? 西安交通大学本科工商管理课程有什么? 上海交大企业管理硕士,本科是工商管理的毕业生能报考吗 上海交大的强项都有什么 请问2011年上海交大招不招工商管理专业的本科生啊? 西安交大工商管理专业招生情况 江西南昌华东交通大学工商管理专业属于本科吗 复旦和交大的工商管理本科哪个好? .net GridView 控件的事件 武炼巅峰2375,武炼巅峰第两千三百七十五章 到底有多强 修罗武神最新章节云中阁 本人在写一部玄幻修真类型的小说,现在特求一些地名或是宗门名字。如什么山、什么宗门、什么阁之类的。 《神灵纪之奕》txt下载在线阅读全文,求百度网盘云资源 李世民在凌烟阁悬挂的云台将领都有谁 GridView单击行事件 如何编辑gridview节点并触发该事件 莲蓉是什么 吃莲蓉有什么好处或坏处? 莲蓉到底是什么啊? 怎样画好水粉樱花林 指导一下水粉技巧 关于樱花水粉颜料 asp.net gridview 行单击事件 阜新哪里有卖木板的,?想钉物流的木箱 阜新市木材总公司怎么样? 南杂木木材市场在哪 沈阳哪个木材市场最大?能说说详细地址吗 河东实验小学家长漂流日记赵頔泉