我写了一个datagrid自带的更新问题,但是怎么也实现不了
1.我用“模板列"<asp:TemplateColumn HeaderText="编辑">
<ItemTemplate> <asp:Button ID="Button1" Runat="server" CommandName="Edit" Text="更新"></asp:Button>
</ItemTemplate> <EditItemTemplate>
<asp:Button ID="Button2" Runat="server" CommandName="Update" Text="保存"></asp:Button>
</EditItemTemplate>
</asp:TemplateColumn>
点击更新按钮时触发不了DataGrid1_EditCommand和DataGrid1_DeleteCommand等事件。
但是我用按钮列<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="" EditText="编辑"></asp:EditCommandColumn>能触发上述事件,但是我在DataGrid1_UpdateCommand事件中string a=((TextBox)e.Item.FindControl("controlid")).Text ;
得不到a的值,请高手帮忙解决一下
1.我用“模板列"<asp:TemplateColumn HeaderText="编辑">
<ItemTemplate> <asp:Button ID="Button1" Runat="server" CommandName="Edit" Text="更新"></asp:Button>
</ItemTemplate> <EditItemTemplate>
<asp:Button ID="Button2" Runat="server" CommandName="Update" Text="保存"></asp:Button>
</EditItemTemplate>
</asp:TemplateColumn>
点击更新按钮时触发不了DataGrid1_EditCommand和DataGrid1_DeleteCommand等事件。
但是我用按钮列<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="" EditText="编辑"></asp:EditCommandColumn>能触发上述事件,但是我在DataGrid1_UpdateCommand事件中string a=((TextBox)e.Item.FindControl("controlid")).Text ;
得不到a的值,请高手帮忙解决一下
参考
http://chs.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/data/datagrid6.src
看你少了什么东西
string sql="";
oleDbConnection1.Open();
int j=(int)DataGrid1.DataKeys[(int)e.Item.ItemIndex];
string a=((TextBox)e.Item.Cells[0].Controls[0]).Text;
sql="update admin set user=a where id like '"+j+"'";
System.Data.OleDb.OleDbCommand conn=new OleDbCommand(sql,oleDbConnection1);
conn.ExecuteNonQuery();
DataGrid1.EditItemIndex=-1;
Response.Write(a);
oleDbConnection1.Close();执行的时候提示我的update语句错误,请高手帮忙