gpt4 book ai didi

c# - 在 gridview 上启用和禁用链接按钮

转载 作者:太空狗 更新时间:2023-10-30 01:05:50 30 4
gpt4 key购买 nike

我想根据条件在某些行的 gridview 上启用或禁用 linkbutton。我可以在同一行上启用 linkbutton 并在同一 GridView 的另一行上禁用它吗?我的代码在这里

  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{LinkButton lnk2 = (LinkButton)e.Row.FindControl("LinkButton2");
if (e.Row.RowType == DataControlRowType.DataRow)
{

SqlCommand cmd12 = new SqlCommand("Select testsession_status from student_vs_testsession_details where testsession_id='" + v_testid.Text + "' ", con12);
SqlDataReader dr12 = cmd12.ExecuteReader();
while (dr12.Read())
{
string test_status = dr12[0].ToString();
LinkButton lnk2 = (LinkButton)e.Row.FindControl("LinkButton2");
foreach (GridViewRow row in GridView1.Rows)
{
if (v_testtype == "Theory Test" && test_status == "Completed")
{
lnk2.Visible = true;
}
else
{
lnk2.Visible = false;
}

}




}

最佳答案

是的,您可以在 RowdataBound 事件中轻松做到这一点,但您已经在代码中使用了 lnk2.Visible 属性。

您可能正在使用 Visible 属性来满足其他需求,但只是想确认它仅用于显示/隐藏 Linkbutton。要启用/禁用 Linkbutton,请使用 Linkbutton 的 Enabled 属性。作为:

lnk2.Enabled = true;// to enable linkbutton.
lnk2.Enabled = false;// to disable linkbutton.

如果您想使用 rowindex 来做到这一点,那么您可以 e.Row.RowIndex 在 gridview 的“RowDatabound”事件中找到当前行索引。作为:

if(e.Row.RowIndex==2)
{
LinkButton lnk2 = (LinkButton)e.Row.FindControl("LinkButton2");
lnk2.Enabled=false;
}

如果您想根据同一行中其他列的值启用/禁用 Linkbutton,那么您可以在 Rowdatabound 事件中执行相同的操作。作为:

string Namecolumnvalue = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Name"));
LinkButton lnk2 = (LinkButton)e.Row.FindControl("LinkButton2");
if(Namecolumnvalue =="Disable")
{
lnk2.Enabled=false;
}
else{
lnk2.Enabled=true;
}

关于c# - 在 gridview 上启用和禁用链接按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17207271/

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