获取到datalist嵌套的gridview???

aqbyygyyga 2010-06-01 08:46:49
我在datalist中嵌套了gridview
因为是嵌套的 不能直接使用gridview控件 所有给gridview绑定的时候 在DataList1_ItemDataBound事件中 给gridview绑定
这里面 用
gv1 = (GridView)e.Item.FindControl("GridView1");
获取到gridview 绑定成功后
我想 给gridview添加修改 和删除 方法 在 gridview的GridView1_RowEditing和GridView1_RowDeleting事件中
问题是 在这两个事件中 无法获取到要gridview 这个 不能用(GridView)e.Item.FindControl("GridView1");查找到
用(GridView)DataList1.FindControl("GridView1"); 查找为null

我怎样才能获取到gridview 并且 执行 gridview 事件 获取到gridview里面的行??
...全文
142 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouwei7682719 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
protected void dataList_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string id = d……
[/Quote]此楼说得很清楚了。。。
GridView gv = e.Item.FindControl("gridView") as GridView;
gv.PageIndexChanging += GridView1_PageIndexChanging 其它事件都可以。。
babyxiong106 2010-06-02
  • 打赏
  • 举报
回复
路过,看下
aqbyygyyga 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sum_binary 的回复:]

(GridView)e.Item.FindControl("GridView1")

e 是描述的它的事件 你用sender
[/Quote]

谢谢这位大哥 已经能够用的你方法获取到gridview了
但还有个问题也麻烦你一下 下面代码是 protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
l1 = (Label)e.Item.FindControl("Label4");
gv1 = (GridView)e.Item.FindControl("GridView1");
TB_BLL.BCommodity CommoditySelect = new BCommodity();
TB_BLL.BStore BSelect = new BStore();
gv1.DataSource = CommoditySelect.SqlExecute("select * from TB_ShoppingCart,TB_Commodity where TB_ShoppingCart.UserName='" + User.Identity.Name + "'and TB_Commodity.ID=TB_ShoppingCart.CommodityID and TB_Commodity.UserName in (select UserName from TB_Store where StoreName='" + l1.Text + "')");//通过
gv1.DataBind();}绑数定gridview数据

l1.Text是绑定的datalist 的一个label 的值 通过这个label值 绑定的sql语句
现在的问题是 gridview删除行事件中 删除后 还应该绑定一下 应该把显示代码 写在一个方法里面
但 问题是 这个方法 获取不到l1的值,我想 问题是 这个l1 = (Label)e.Item.FindControl("Label4");是 获取的当前datalist的行的值 如果放到外面 就无法获取datalist的行值 所以为空
错误提示 未将对象引用设置到对象的实例。

我想 把 gridview的绑定方法 在外面 怎么获取 所在datalist的绑定值???

不知道你听明白没有
如果问题解决 我会再加一些分

其它的大哥有好的方法 也可以告诉我

gridview的绑定 如果在方法里 而这个方法用到绑定的datalist的值 怎么获取到选中的datalist选中行???
linkinwhite 2010-06-01
  • 打赏
  • 举报
回复
GridView gv=(GridView)DataList1.Items[x].FindControl("GridView1");


找到GridView

然后再GridView的RowDataBound事件中获取他的行

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lb = (Label)e.Row.Cells[2].FindControl("Label2");
}
}
amandag 2010-06-01
  • 打赏
  • 举报
回复
在GridView的事件中用sender得到其引用
public void GridView1_RowEditing(sender object, ...)
{
GridView gv = object as GridView;
}
sum_binary 2010-06-01
  • 打赏
  • 举报
回复
(GridView)e.Item.FindControl("GridView1")

e 是描述的它的事件 你用sender
claymore1114 2010-06-01
  • 打赏
  • 举报
回复
应该可以获取,再 调试调试
皇城龙三 2010-06-01
  • 打赏
  • 举报
回复
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
GridView gv1=(GridView)e.Item.FindControl("GridView1");
gv1.DataSource=“你要绑定的数据源”;
gv1.DataBind;
//这是DataList的OnItemDataBound事件
}
wuyq11 2010-06-01
  • 打赏
  • 举报
回复
protected void dataList_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string id = dataList.DataKeys[e.Item.ItemIndex].ToString();
GridView gv = e.Item.FindControl("gridView") as GridView;
gv.PageIndexChanging += GridView1_PageIndexChanging;
}
}

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧