我有可编辑的GridView一个简单的复选框:中恢复复选框当前值 - WebForm的C#
<asp:TemplateField HeaderText="Editable">
<ItemTemplate>
<asp:Label runat="server" Text="<%# Item.IsEditable %>" />
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="CheckBoxEditable " runat="server" Text="Editable"></asp:CheckBox>
</EditItemTemplate>
</asp:TemplateField>
当我行中点击编辑按钮,我想那个复选框已被选中,如果值是真的。 (IsEditable是一个布尔值) 文本字段很简单,因为我在EditItemTemplate的Text属性上有一个BindItem。但它不是为复选框或同一下拉列表
的GridView
我使用的updateItem方法在数据库中更新我的数据。我尝试了一个小条件来检查我的复选框,但它不起作用。
public void GridViewRisquesAggravants_UpdateItem(IndexViewModel item)
{
try
{
if (ModelState.IsValid)
{
CheckBox chbEdit = (CheckBox)GridView.Rows[this.GridView.EditIndex].FindControl("CheckBoxEditable")
if (item.IsEditable)
chbEdit.Checked = true;
new TypeService().Update(new Type
{
IsEditable = item.IsEditable,
});
this.GridView.DataBind();
}
}
catch
{
throw;
}
}
它是有道理的,因为我不是在正确的功能来声明这一点。但我的网络表单中只有3种方法。
SelectMethod="GridView_GetData"
UpdateMethod="GridView_UpdateItem"
DeleteMethod="GridView_DeleteItem"
我在哪里可以做到这一点? (我必须跟在下拉列表DATAS同样的问题。我不知道我在哪里编辑过程中恢复电流值)提前
感谢(对不起我对Web表单初学者和我的英语不是完美的)
小艾
谢谢!这是一个好主意。我一直在寻找像这样的解决方案,直接在webform中。但我不希望默认值为true。我希望仅在我的数据库中的“IsEditable = true”时检查框。 – BoumBoumBam
您可以在<%#Convert.ToBoolean(“true”)%> 中添加一个条件,它充当C#代码并用作行数据绑定事件并使用EVAL for datafeild来检查 –
检查以下示例 ** < asp:Repeater ID =“ProductList”runat =“server”> <%#DataBinder.Eval(Container.DataItem,“Name”)%>仅用于<%#DataBinder.Eval(Container。DataItem的, “价格”, “{0:C}”)%>
See Details
ItemTemplate中> ASP:直放站> ** –