|
Jeffrey Tan[MSFT] (VIP) |
Hi Nick,
Thanks for posting in this group. I think maybe you bind the database data into your datagrid every time in WebForm load event. Because when you click the button, the page postback to the server, Page_Load event fires, the datagrid will be rebind again. So the ItemCommand will not fire(the datagrid was reinitialized). (You can demonstrate this through add a breakpoint in ItemCommand eventhandler) So you should bind the datagrid only when the page is not postback. Code snippet like this:
//I use default sqlserver database to fill the datagrid private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here //Response.Write(Session[0]); Response.Write(this.GetPostBackEventReference(hoho)); if(!IsPostBack) { SqlDataAdapter adapter=new SqlDataAdapter("select * from jobs","server=localhost;database=pubs;uid=sa;pwd="); DataSet ds=new DataSet(); adapter.Fill(ds); DataGrid1.DataSource=ds; DataGrid1.DataBind(); } }
this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCom mand);
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { if(e.CommandName=="buttonclick") { Response.Write(e.Item.Cells[3].Text); } }
Best regards, Jeffrey Tan Microsoft Online Partner Support Get Secure! - www.microsoft.com/security This posting is provided "as is" with no warranties and confers no rights.
|
|
|
|
Nick Gilbert |
Hi Jeffrey,
The datagrid needed to be rebound every single time as the data always changed (it had a column which reflected the live status of a job).
The problem seems to be that if you bind on every postback *AND* have viewstate turned on for the datagrid, the event does not fire. We disabled viewstate on the datagrid and the ItemCommand events then fired as expected.
Thanks for your help,
Nick...
Jeffrey Tan[MSFT] wrote: [Original message clipped]
|
|
|
|
Jeffrey Tan[MSFT] (VIP) |
Hi Nick,
I am glad it works, if you have further questions, please feel free to tell me.
Best regards, Jeffrey Tan Microsoft Online Partner Support Get Secure! - www.microsoft.com/security This posting is provided "as is" with no warranties and confers no rights.
|
|
| | | |