我试图在gridview的编辑模式下更新数据。
它没有正确发送我的实际代码。我试图使它成为 HTML 中的 templateField,但它不起作用。此时,当我在gridview的编辑模式下修改日期时程序中断。这是放在Page_Load中的。在对网格进行排序的条件下,网格是绑定的。
if (ViewState["sorting"] == null)
{
String myquery = "Select * from Venituri";
SqlConnection sqlCon = new SqlConnection(CS);
SqlCommand cmd = new SqlCommand
{
CommandText = myquery,
Connection = sqlCon
};
SqlDataAdapter da = new SqlDataAdapter
{
SelectCommand = cmd
};
DataSet ds = new DataSet();
da.Fill(ds);
GridViewIncomes.DataSource = ds;
GridViewIncomes.DataSourceID = String.Empty;
GridViewIncomes.DataBind(); //here is a break when I was modified with the suggest code
}
protected void GridViewIncomes_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
SqlConnection sqlCon = new SqlConnection(CS);
int index = GridViewIncomes.EditIndex;
GridViewRow row = GridViewIncomes.Rows[index];
int VenitId = Convert.ToInt32(GridViewIncomes.DataKeys[e.RowIndex].Value);
string Denumire = ((TextBox)row.Cells[2].Controls[0]).Text.ToString().Trim();
var MyDateInsCalendar = GridViewIncomes.Rows[GridViewIncomes.EditIndex].FindControl("Data") as Calendar;
MyDateInsCalendar.Visible = false;
string Suma = ((TextBox)row.Cells[4].Controls[0]).Text.ToString().Trim();
string Descriere = ((TextBox)row.Cells[5].Controls[0]).Text.ToString().Trim();
string sql = "UPDATE Venituri SET Denumire='" + Denumire + "',Data='" + MyDateInsCalendar + "',Suma='" + Suma + "',Descriere='" + Descriere + "' WHERE VenitId=" + VenitId + "";
SqlCommand cmd = new SqlCommand(sql, sqlCon);
sqlCon.Open();
int temp = cmd.ExecuteNonQuery();
sqlCon.Close();
if (temp == 1)
{
lblSuccessMessage.Text = "Actualizat cu succes!";
}
GridViewIncomes.EditIndex = -1;
lblSuccessMessage.Text = "";
}
`
.aspx
<asp:BoundField HeaderText="Data" SortExpression="Data" DataField="Data" />
将日期编辑到gridview并在数据库中更新。