用sender的Parent获取GridView中的当前行

 这篇文章主要介绍了利用sender的Parent获取GridView中的当前行的方法,大家参考使用吧

 

 
获取GridView当行有好几个方法:
 
1 加RowCommand事件中,判断请求的发出按钮控件名,根据传递的参数来获取当前行中我们需要的参数。
2 GridView设置datakeynames方式。
 
以上方法实现不再累赘。
 
今天给大家介绍一种最方便,也最满足日常思维的好办法:
采用控件事件的sender的Parent来获取cell对象,再取cell的上级对象,也就是row对象了。简单吧!
 
示例如下:
在第三列中放了一个模板列,放入了一个CheckBox,想法是在选中时,设置第四列Lable状态标识为“T”,取消选中时,第四列Lable状态标识清空
 
CheckBox直接在模板列中双击,加入以下代码即可。
 
 代码如下:
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox chk = (CheckBox) sender;
 
        DataControlFieldCell dcf = (DataControlFieldCell)chk.Parent;
        GridViewRow gvr = (GridViewRow)dcf.Parent;
 
        if (chk.Checked)
        {
            Label lab = (Label)gvr.Cells[3].FindControl("Label1");
            lab.Text = "T";
        }
        else
        {
            Label lab = (Label)gvr.Cells[3].FindControl("Label1");
            lab.Text = "";
        }
    }
 

时间: 2024-10-02 12:16:38

用sender的Parent获取GridView中的当前行的相关文章

利用sender的Parent获取GridView中的当前行(获取gridview的值)_实用技巧

获取GridView当行有好几个方法: 1 加RowCommand事件中,判断请求的发出按钮控件名,根据传递的参数来获取当前行中我们需要的参数.2 GridView设置datakeynames方式. 以上方法实现不再累赘. 今天给大家介绍一种最方便,也最满足日常思维的好办法:采用控件事件的sender的Parent来获取cell对象,再取cell的上级对象,也就是row对象了.简单吧! 示例如下:在第三列中放了一个模板列,放入了一个CheckBox,想法是在选中时,设置第四列Lable状态标识为

新手求详细解答~~关于获取GridView中数据存储到DataTable的问题

问题描述 各位大神别吐槽萌新不用三层设计~~先实现再分层~实现结果:本新用存储过程为GridView填充数据,然后根据checkbox把girdview中的数据导入到另外一个数据.思路:获取gridview中的行数据,然后通过datatable.newrow来循环储存,最后将datatable用datasetIO类的方法复制到目标数据库中.结果出现了"未将对象引用设置到对象的实例."的报错信息.报错点如下:drNew=((DataRowView)this.GridView1.Rows[

如果在LinkButton的 onClick事件中获取GridView中的关键字

问题描述 <asp:LinkButtonID="lb_del"runat="server"OnClick="lb_save_Click">删除</asp:LinkButton>如何在Protectvoidlb_save_click(objectsender,EventArgse){}获取<linkButton>所在行的关键字. 解决方案 解决方案二:intsign=ProductClassProvider.In

关于获取gridview中的某一列的值 放到textbox中 谢谢~~~

问题描述 假设girdview里面有这些ID姓名性别单位单位电话手机详细信息4姓名2查看详细信息3姓名1性别1工作单位1单位电话1手机1查看详细信息17姓名15查看详细信息5姓名3查看详细信息我要获取姓名那一列的值放在TEXTBOX里面应该怎么弄?谁来~~~~~COMEON 解决方案 解决方案二:GridView编辑时获取编辑框中的值stringquantity=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text;p

如何判断一个字段中是否存在某字?。 如何获取GridView中的控件?

问题描述 我想判断在数据库中某个字段是否存在某字!例在a字段中是否存在b还有一个问题我以前做过datalist的获取控件改更他的属性现在用GridView不会!<Columns><asp:TemplateField><ItemTemplate><asp:LabelID="Label1"runat="server"BackColor="Red"Text=""></asp:L

如何获取gridview中模板列中控件的值?

       foreach (GridViewRow gvr in gvInBillList.Rows)       {          TextBox t = gvr.FindControl("TextBox1") as TextBox;          if (t != null)          {              t.Text = "给TextBox1赋值";          }       }   这个方法真的很实用:把代码放到Page

网页后台中如何获取gridview中超链接模板列的值

问题描述 模板列是这样的<asp:TemplateFieldHeaderText="患者姓名"><ItemTemplate><ahref='Default.aspx?sjbh=<%#Eval("sjbh")%>'id="brxm"runat=server>测试xxx</a></ItemTemplate><ItemStyleHorizontalAlign="Ce

获取Gridview中ButtonField的text属性_Access

<asp:BoundField>用cell[2].text取到值.但<asp:HyperLinkField>和<asp:ButtonField>通过cell[0].Text和cell[13].Text取的值都是"".应如何取到值呢? 首先将ButtonField按钮的连接改为Button模式,然后就可以通过以下语句得到text值Response.Write(((HyperLink)e.Row.Cells[0].Controls[0]).Text);

如何通过JavaScript获取GridView中的控件值

问题描述 如题.急!!! 解决方案 解决方案二:document.getElementById("<%=gridview1.ClientID%>").rows[i].cells[j].getElementsByTagName("input")[0].value;i为行索引,j为列索引,input为控件的标签名不晓得这样对不对.