Попробуйте что-то вроде этого:
Checked='<%# Eval("pric_c_alfsupreq").ToString().Equals("Y") %>'>
UPDATE:
Поскольку вы используете старую DataGrid (в настоящее время вы должны использовать DataGridView ), в вашем определении DataGrid
должно быть что-то похожее на это:
<asp:DataGrid ID="Grid" runat="server" PageSize="5" AllowPaging="True"
DataKeyField="EmpId" AutoGenerateColumns="False" CellPadding="4"
ForeColor="#333333" GridLines="No"
OnPageIndexChanged="Grid_PageIndexChanged"
OnCancelCommand="Grid_CancelCommand"
OnDeleteCommand="Grid_DeleteCommand"
OnEditCommand="Grid_EditCommand"
OnUpdateCommand="Grid_UpdateCommand">
См. OnUpdateCommand ...
Теперь метод, который должен запускаться при применении обновления данных строки:
protected void Grid_UpdateCommand(object source, DataGridCommandEventArgs e)
{
con = new SqlConnection(ConfigurationManager.AppSettings["connect"]);
char value = "N"
// You'll have to change the index here to point to the CheckBox you have in
// your DataGrid.
// It can be on index 1 Controls[1] or 2 Controls[2]. Only you know this info.
if(((CheckBox)e.Item.Cells[0].Controls[0]).Checked == true)
{
value = "Y";;
}
cmd.Parameters.Add("@pric_c_alfsupreq", SqlDbType.Char).Value = value;
cmd.CommandText = "Update command HERE";
cmd.Connection = con;
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
Grid.EditItemIndex = -1;
}
Надеюсь, вы поняли идею. Если вам нужен этот код в любой другой момент, вы можете поместить его в OnEditCommand
, OnDeleteCommand
и т.д ...