gpt4 book ai didi

c# - 根据数据库表列值禁用gridview行

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:16 25 4
gpt4 key购买 nike

我有一个从数据库表加载的 gridview。表中有一列名为'valid',其值为'Y'或'N'。现在,我想要做的是,检查“有效”的值是否为 Y,然后在加载 gridview 时该行中的整个记录​​应显示为禁用。

如何进行?我应该为此编写一个过程还是可以从后面的代码中完成?

注意:Valid 列不是 gridview 的一部分。

最佳答案

您需要使用 gridview 的 RowDataBound 事件来禁用行。
请注意,如果您使用 databound columns,那么它会在 trtd 中呈现,那么您需要找到该单元格,然后设置禁用属性。

protected void gvEntity_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//CheckBox cbAttachClrReq = (CheckBox) e.Row.FindControl("chkAdd");
//check the value here and set enable property
e.Row.Enabled = false;

}

}

正如@Hanlet Escaño 所建议的,您可以在同一列中添加字段值,如下所示

<asp:TemplateField>
<ItemTemplate>
<<asp:Label ID="lbl1" runat="server"
Value='<%# Eval("Name") %>' />
<asp:HiddenField ID="HiddenField1" runat="server"
Value='<%# Eval("valid") %>' />
</ItemTemplate>

并获取row-databound事件中的隐藏字段值如下

protected void gvEntity_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
HiddenField Hf = (HiddenField) e.Row.FindControl("HiddenField1");
if(Hf.Value=="Y")
e.Row.Enabled = false;

}

}

关于c# - 根据数据库表列值禁用gridview行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19395387/

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