Как показать добавить в GridView, если текстовое поле будет пустым и редактировать, когда есть данные в текстовое поле в GridView в
Ниже мой код только с третьего столбца для редактирования в GridView и оставшиеся два столбца только для чтения я могу сохранить данные, когда я нажимаю кнопку Добавить в GridView можно, но для этого редактируемые современный цветочный колонка печати в GridView В, но мне нужно, если что редактируемый столбец в GridView будет пустой, она должна показать, добавить и после предоставления текста он должен спастись и если что редактируемый столбец в GridView в некоторые текста он должен показать редактировать и после предоставления текста он должен сделать спас, как я могу сделать это
<div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating"> <Columns> <asp:BoundField DataField="ProductName" HeaderText="ProductName" ReadOnly="true" /> <asp:BoundField DataField="Price" HeaderText="Price" ReadOnly="true" /> <asp:BoundField DataField="Quantity" HeaderText="Quantity" /> <asp:CommandField ShowEditButton="true" CancelText="" DeleteText="" EditText="Add" UpdateText="Save" /> </Columns> </asp:GridView> </div> <div> <asp:Label ID="lblresult" runat="server"></asp:Label> </div>
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { gvbind(); } } protected void gvbind() { conn.Open(); SqlCommand cmd = new SqlCommand("Select * from Products", conn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); conn.Close(); if (ds.Tables[0].Rows.Count > 0) { GridView1.DataSource = ds; GridView1.DataBind(); } else { ds.Tables[0].Rows.Add(ds.Tables[0].NewRow()); GridView1.DataSource = ds; GridView1.DataBind(); int columncount = GridView1.Rows[0].Cells.Count; GridView1.Rows[0].Cells.Clear(); GridView1.Rows[0].Cells.Add(new TableCell()); GridView1.Rows[0].Cells[0].ColumnSpan = columncount; GridView1.Rows[0].Cells[0].Text = "No Records Found"; } } protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; gvbind(); } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; gvbind(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { int userid = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString()); GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex]; Label lblID = (Label)row.FindControl("lblID"); //TextBox textName = (TextBox)row.Cells[0].Controls[0]; //TextBox textadd = (TextBox)row.Cells[1].Controls[0]; TextBox textc = (TextBox)row.Cells[2].Controls[0]; GridView1.EditIndex = -1; conn.Open(); //SqlCommand cmd = new SqlCommand("update Products set ProductName='" + textName.Text + "',Price='" + textadd.Text + "',Quantity='" + textc.Text + "'where id='" + userid + "'", conn); SqlCommand cmd = new SqlCommand("update Products set Quantity='" + textc.Text + "'where id='" + userid + "'", conn); cmd.ExecuteNonQuery(); conn.Close(); gvbind(); }
Что я уже пробовал:
я попробовал приведенный выше код, но он не работает