我的 GridView 有 2 列。
第一列是:测试标签(TemplateField)
第二个:复选框(asp:CheckBoxField)连接到带有位列的sql表(完成)。
我希望在页面加载时 - 页面将检查每一行,其中复选框 = true,test-label.visble 将为 false。
我知道如何使用 SELECT 语句编写代码来检查 SQL 表中的值,但不知道如何在页面加载时检查 gridview 上的每一行。
我该怎么做?
(我不能使用 findcontroll 作为复选框,因为它是复选框字段而不仅仅是“复选框”。
<asp:CheckBoxField DataField="done" SortExpression="done" HeaderText="done?" />
那么,我在这里能做什么呢?也许用常规 CB 替换该字段? (我不知道如何在常规 cb 上进行数据绑定(bind))。
最佳答案
您可以使用GridView.RowDataBound Event
所以你可以做类似的事情
protected void GVRowDataBound(object sender, GridViewRowEventArgs e)
{
var check = (CheckBox) e.Row.FindControl("ID"); // ID is id of the checkbox
var lable = (Label) e.Row.FindControl("LableID");
if(check != null && lable != null)
{
if(check.Checked)
{
lable.Visible = false;
}
}
}
关于c# - 带有 SQL 复选框字段的 GridView 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7839299/