asp.net中datagrid,当点击一下...
asp.net中datagrid,当点击一下加入物品。就会在加入到购物车。不知道这个需要在datagrid中的什么时间中写啊?怎么知道,那么多列,他到底点击了哪个列啊?希...
asp.net中datagrid,当点击一下加入物品。就会在加入到购物车。不知道这个需要在datagrid中的什么时间中写啊?
怎么知道,那么多列,他到底点击了哪个列啊?
希望详细说明 展开
怎么知道,那么多列,他到底点击了哪个列啊?
希望详细说明 展开
5个回答
展开全部
你可以在DataGrid的ItemCommand事件事编写代码,至于[怎么知道,那么多列,他到底点击了哪个列啊?]。ItemCommand事件回调的方法中有一个DataGridCommandEventArgs类型的事件参数,你可以通过这个参数对象获取鼠标单击的那行。具体看下面代码:
-----------------------------------------------------------
void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e)
{
DataGridItem item = e.Item;
string id = item.Cells[0].Text;//商品编号
string name =item.Cells[1].Text;//商品名称
string desc = item.Cells[2].Text;//商品描述
//... ...
item.Cells[item.Cells.Count].Text; //该行最后一格文本内容
//添加选择的商品信息
ShopCart.AddItem(id,name,price,...);
}
那么,如何触发这个事件呢?你还需要为DataGrid1控件添加一列包含button控件模板列,或者是添加一列选择列用于选择某一行商品信息。当你单击button控件选择一行时,就会触发ItemCommand事件。
-----------------------------------------------------------
void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e)
{
DataGridItem item = e.Item;
string id = item.Cells[0].Text;//商品编号
string name =item.Cells[1].Text;//商品名称
string desc = item.Cells[2].Text;//商品描述
//... ...
item.Cells[item.Cells.Count].Text; //该行最后一格文本内容
//添加选择的商品信息
ShopCart.AddItem(id,name,price,...);
}
那么,如何触发这个事件呢?你还需要为DataGrid1控件添加一列包含button控件模板列,或者是添加一列选择列用于选择某一行商品信息。当你单击button控件选择一行时,就会触发ItemCommand事件。
展开全部
ItemCommand事件里面写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种应用, 不可能不用数据库的吧?!
在数据库中建一个表, 每点一个加入物品, 向表中添加一条记录,
而datagrid端只要读取该表并显示就行了.
在数据库中建一个表, 每点一个加入物品, 向表中添加一条记录,
而datagrid端只要读取该表并显示就行了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你的数据是用DATAGRID显示的,那么你可以添加一个按扭在
数据行,使用模板列就可以,加一个button,然后在ItemCommand中获取消息,注意要把button的CommandName命名
if(e.CommandName=="button的CommandName名字")
{
//这里写代码
}
数据行,使用模板列就可以,加一个button,然后在ItemCommand中获取消息,注意要把button的CommandName命名
if(e.CommandName=="button的CommandName名字")
{
//这里写代码
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的都没有回答lz的问题所在
private void DataGrid1_ItemDataBound(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
ListItemType itemType = e.Item.ItemType;
if ((itemType == ListItemType.Pager) ||
(itemType == ListItemType.Header) ||
(itemType == ListItemType.Footer))
{
return;
}
LinkButton button = (LinkButton)e.Item.Cells[0].Controls[0];
e.Item.Attributes["onclick"] =
Page.GetPostBackClientHyperlink(button, "");
}
如果lz详细知道用法的话,到我这里来吧
http://hi.baidu.com/1004/blog/item/764670cf6a65253cf9dc617b.html
private void DataGrid1_ItemDataBound(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
ListItemType itemType = e.Item.ItemType;
if ((itemType == ListItemType.Pager) ||
(itemType == ListItemType.Header) ||
(itemType == ListItemType.Footer))
{
return;
}
LinkButton button = (LinkButton)e.Item.Cells[0].Controls[0];
e.Item.Attributes["onclick"] =
Page.GetPostBackClientHyperlink(button, "");
}
如果lz详细知道用法的话,到我这里来吧
http://hi.baidu.com/1004/blog/item/764670cf6a65253cf9dc617b.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询