我有可編輯的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:直放站> ** –