使用 LINQ 从 RadGridView 获取 DataKeyValue 列表
我正在使用 Telerik RadGrid 并拥有一个具有唯一名称“ChangeAddr”的 GridTemplateColumn。基本上,用户会选中一个或多个框,然后单击“更改地址”按钮,以便用户可以更改所选行/产品的地址。
复选框 ID 为 chkChangeAddr。 DataKeyName 是 OrderProductID。
现在,这是用户单击按钮时的代码:
var OrderProductIDs = (from GridDataItem item in rgShipProducts.Items
where ((CheckBox)item.FindControl("chkChangeAddr")).Checked
select int.Parse(rgShipProducts.MasterTableView.DataKeyValues[item.ItemIndex]["OrderProductID"].ToString())).ToList();
但是,它不会返回任何内容。
如果有帮助,我有一个 OnItemDataBound 事件,我可以使用相同的代码片段成功检索 DataKeyValue:
rgShipProducts.MasterTableView.DataKeyValues[item.DataSetIndex]["OrderProductID"].ToString()
所以,看起来我没有“访问”每个项目或其他内容。我已经使用常规 ListView 完成了此操作,但从未在 RadGrid 上完成过。任何帮助将不胜感激。
谢谢, 安德鲁
I'm using a Telerik RadGrid and have a GridTemplateColumn with the unique name "ChangeAddr". Basically, a user would check one or more boxes and then click a "Change Address" button so the user could change the address for the selected rows/products.
The checkbox id is chkChangeAddr.
The DataKeyName is OrderProductID.
Now, here's the code I have for when the user clicks the button:
var OrderProductIDs = (from GridDataItem item in rgShipProducts.Items
where ((CheckBox)item.FindControl("chkChangeAddr")).Checked
select int.Parse(rgShipProducts.MasterTableView.DataKeyValues[item.ItemIndex]["OrderProductID"].ToString())).ToList();
However, it doesn't return anything.
If it helps, I have an event for OnItemDataBound where I can successfully retrieve the DataKeyValue using this same snippet:
rgShipProducts.MasterTableView.DataKeyValues[item.DataSetIndex]["OrderProductID"].ToString()
So, it seems like I'm not "accessing" each item or something. I've done this with regular ListViews, but never on a RadGrid. Any help would be greatly appreciated.
Thanks,
Andrew
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试使用下面的代码。
try with below code.