【发布时间】:2013-06-20 07:04:32
【问题描述】:
我想根据条件在 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;
}
}
}
【问题讨论】:
-
你的问题到底是什么,这段代码有什么不工作,你有任何错误信息吗?对我来说似乎不起作用,但如果没有它在我的调试器上,我也不知道你程序的逻辑流程是什么,我无法建议你该怎么做。 - 一个 Bug 是您没有在每一行上找到 LinkButton,第二个 Bug 是您没有将 gridview 上的每一行与数据库上的每一行连接起来。
-
在这种情况下,您可能需要循环通过gridview控件并相应地设置链接按钮启用/禁用,因为上面的代码将只查看当前行项目。不是整行。 foreach(grid.Rows 中的 DataGridViewRow 行){ var link = row.FindControl("LinkButton2") }
-
如何循环遍历每一行并检查启用/禁用链接按钮的条件?它没有任何错误..但正如@Deepu所说,代码只看当前行itm ..
-
如何在每一行上找到 LinkButton,并将 gridview 上的每一行与数据库上的每一行连接起来。 ?? @Aristos 请帮忙