gpt4 book ai didi

c# - gridview rowdatabound 事件中的 e.Row.DataItem 错误

转载 作者:太空狗 更新时间:2023-10-29 22:22:38 24 4
gpt4 key购买 nike

enter image description here我想根据登录的相关用户启用或禁用特定行。所以我使用 rowdatabound 事件,但我在这一行中有一个错误:

DataRow drv = ((DataRowView)e.Row.DataItem).Row; 

在这里,e.Row.DataItem 有相关的行信息。我已经控制并且它具有行值。但是当我想继续时,我会出现这个错误:

Unable to cast object of type '<>f__AnonymousType014[System.Int32,System.Int32,System.String,System.String,System.DateTime,System.String,System.String,System.String,System.String,System.String,System.String,System.Nullable1[System.DateTime],System.String,System.Nullable`1[System.Boolean]]' to type 'System.Data.DataRowView'.

然后我改变了这一行:

DataRowView drv = e.Row.DataItem as DataRowView;

对于这种情况,它没有给出错误,但 drv 仍然具有空值。 Dataitem 不分配其值。

在这里,相关的完整代码:

protected void gvListele_RowDataBound(object sender, GridViewRowEventArgs e)
{
dbeDataContext db = new dbeDataContext();
var c = (from v in db.CAGRIs where v.UserID != Convert.ToInt32(Session["user"]) select v).ToArray();
if (c != null)
{
foreach (var item in c)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRow drv = ((DataRowView)e.Row.DataItem).Row;

int tempID = Convert.ToInt32(drv["CagriID"].ToString());
if (item.CagriID == tempID)
{
e.Row.Enabled = false;
}
}
}
}
}

我能为这个错误做些什么?提前致谢。

最佳答案

我两天前就解决了我的问题。我用过这个:

int callID = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "CagriID"));

所有事件:

    protected void gvListele_RowDataBound(object sender, GridViewRowEventArgs e)
{
dbeDataContext db = new dbeDataContext();
var c = (from v in db.CAGRIs where v.UserID != Convert.ToInt32(Session["user"]) select v).ToArray();
if (c != null)
{
foreach (var item in c)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int callID = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "CagriID"));
if (callID == item.CagriID)
{
e.Row.Enabled = false;
continue;
}
}
}
}
}

关于c# - gridview rowdatabound 事件中的 e.Row.DataItem 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21114085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com