如何在GridView取值>>>>>>>>>>>??????????????????????

fgmis 2006-12-04 10:20:52
如何在GridView取值......
<asp:GridView ID="CompanyList" runat="server" AutoGenerateColumns="False" DataKeyNames="CompanyID"
OnRowCommand="CompanyList_RowCommand" OnRowDeleting="CompanyList_RowDeleting" Width="100%" OnRowDataBound="CompanyList_RowDataBound">

<asp:TemplateField HeaderText="编辑">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="False" CommandName="Edit" ImageUrl="~/Images/edit.gif" ToolTip="编辑此项"/>
</ItemTemplate>
</asp:TemplateField>


protected void CompanyList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
int rowIndex = Convert.ToInt32(e.CommandArgument);
int CompanyID = Convert.ToInt32(this.CompanyList.DataKeys[rowIndex]["CompanyID"]);
Response.Redirect("CompanyEdit.aspx?CompanyID=" + CompanyID, false);

}

}

取值不到int rowIndex = Convert.ToInt32(e.CommandArgument);
int CompanyID = Convert.ToInt32(this.CompanyList.DataKeys[rowIndex]["CompanyID"]);
...全文
229 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yehzh 2006-12-06
  • 打赏
  • 举报
回复
你看了吗或看懂了吗?别太浮躁了...
triffang 2006-12-04
  • 打赏
  • 举报
回复
http://www.cnblogs.com/anson/archive/2006/07/26/460374.html
mincunbao 2006-12-04
  • 打赏
  • 举报
回复
string str=e.CommandArgument.ToString();
就可以取到值了
mincunbao 2006-12-04
  • 打赏
  • 举报
回复
在CommandArgument上添入<%#DataBinder.Eval(Container.DataItem,"你的字段")%>
fgmis 2006-12-04
  • 打赏
  • 举报
回复
恳求高手指点.....谢谢
fgmis 2006-12-04
  • 打赏
  • 举报
回复
没人知道吗?
fgmis 2006-12-04
  • 打赏
  • 举报
回复
在delrowcommand可以的
在RowCommand不行
lnvee 2006-12-04
  • 打赏
  • 举报
回复
试试吧
lnvee 2006-12-04
  • 打赏
  • 举报
回复
int CompanyID = Convert.ToInt32(this.CompanyList.DataKeys[e.RowIndex].Value.ToString());

这样应该就可以了
fgmis 2006-12-04
  • 打赏
  • 举报
回复
yehzh()

靠,上当了
yehzh 2006-12-04
  • 打赏
  • 举报
回复
关于gridview的有关关用法可以参见我的知识库
http://60.218.11.205/myfotodemo/tools/knowledgebase.aspx

在 信息类别\语言环境\aspDotNet\控件\gridView
fgmis 2006-12-04
  • 打赏
  • 举报
回复
又没人啦
fgmis 2006-12-04
  • 打赏
  • 举报
回复
protected void CompanyList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
int rowIndex = Convert.ToInt32(e.CommandArgument);
int CompanyID = Convert.ToInt32(this.CompanyList.DataKeys[rowIndex]["CompanyID"]);

Company Company = new Company();
SqlDataReader dr = Company.GetItemByID(CompanyID);
dr.Read();
}
else if (e.CommandName == "Edit")
{
int rowIndex = Convert.ToInt32(e.CommandArgument);
int CompanyID = Convert.ToInt32(this.CompanyList.DataKeys[rowIndex]["CompanyID"]);
Response.Redirect("CompanyEdit.aspx?CompanyID=" + CompanyID, false);

}

}

当执行(e.CommandName == "Select")可以取到值ID,但在执行(e.CommandName == "Edit")
就提示格式不正确
Luoable 2006-12-04
  • 打赏
  • 举报
回复
e.items.findcontrol("ID"). 再转型为你的控件类型. 就可以按你指定的控件取值了.

也可以用e.items.cells[0].controls[0]. 再同上.. 找控件取值..

LZ可能是想像在VS2003里的DataGrid一样用关键字来进行e.DataKeys[0]
在GridView里这个关键字,与VS2003的不同. 它是一个字符串数组 而不仅是一个字符串
你可以在属性里设置的..

好像还有另外的方法.不过这个我了解不多..后面的大侠一起讨论一下吧..
e.newValue

62,052

社区成员

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

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

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

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