加入ButtonField字段的我添加ButtonField字段在一個GridView的列,以便有ButtonField字段對於每個記錄,如下代碼更改圖像(圖像URL),其在的GridView通過onclick事件
<asp:GridView ID="GvDetail" runat="server">
<Columns>
<asp:ButtonField ButtonType="Image" ImageUrl="~/Img/Black.png" CommandName="ggg" />
</Columns>
</asp:GridView>
在這方面,我想通過點擊該按鈕場改變圖像(圖像URL)..
我添加一列STATUS在GridView ...
我想改變的ButtonField字段4倍的圖像..
它意味着默認顯示「黑色圖像」,狀態爲「1」 第一次點擊它變成「藍色圖像」,狀態必須更改爲「2」 第二次點擊它變成「綠色圖像」狀態「3」 第三次點擊它變成「紅色圖像」狀態「4」。 和4日再次單擊它更改爲「黑圖像」狀態「1」 ..
它也像工作在1日點擊它從黑色圖像變爲藍色和狀態從「1」到「2」 但當我再次點擊它不工作..再次改變它。它需要停止運行項目。並重新運行它。那麼它只適用於一次點擊,然後再次需要停止項目等...... 任何解決方案?
我的代碼是如下..
保護無效GvDetail_RowCommand(對象發件人,GridViewCommandEventArgs E) {
如果(e.CommandName == 「GGG」) {
int index = Convert.ToInt32(e.CommandArgument);
int temp;
temp = Convert.ToInt32(GvDetail.Rows[index].Cells[1].Text);
// gets the ID of clicked row from First Column(Name="Id")
com = new SqlCommand();
var _with1 = com;
_with1.Connection = con;
if (GvDetail.Rows[index].Cells[3].Text == "1")
{
string str1;
str1 = "update SubTask set Status='2' where ID= '" + temp + "'";
_with1.CommandText = str1;
Label4.Text = "Start";
Label4.Text = str1;
GridViewRow gvRow = GvDetail.Rows[index];
((ImageButton)gvRow.Controls[0].Controls[0]).ImageUrl = "~/Image/Green.png";
}
else if (GvDetail.Rows[index].Cells[3].Text == "2")
{
string str1;
str1 = "update SubTask set Status='3' where ID= '" + temp + "'";
_with1.CommandText = str1;
Label4.Text = "Start";
Label4.Text = str1;
GridViewRow gvRow = GvDetail.Rows[index];
((ImageButton)gvRow.Controls[0].Controls[0]).ImageUrl = "~/Image/Blue.png";
}
else if (GvDetail.Rows[index].Cells[3].Text == "3")
{
string str1;
str1 = "update SubTask set Status='4' where ID= '" + temp + "'";
_with1.CommandText = str1;
Label4.Text = "Start";
Label4.Text = str1;
GridViewRow gvRow = GvDetail.Rows[index];
((ImageButton)gvRow.Controls[0].Controls[0]).ImageUrl = "~/Image/Red.png";
}
else if (GvDetail.Rows[index].Cells[3].Text == "4")
{
string str1;
str1 = "update SubTask set Status='1' where ID= '" + temp + "'";
_with1.CommandText = str1;
Label4.Text = "Start";
Label4.Text = str1;
GridViewRow gvRow = GvDetail.Rows[index];
((ImageButton)gvRow.Controls[0].Controls[0]).ImageUrl = "~/Image/Black.png";
}
_with1.ExecuteNonQuery();
}
}
我該怎麼辦?
在此先感謝
看到我的檢查答案 – 2012-02-04 13:06:32