<asp:ImageButton ID="lnkEmpIdUp" runat="server" ImageUrl="~/Images/upArrow.png" CommandName="EMP_ID_NO" OnClick="lnkSorting_Click" />
<asp:ImageButton ID="lnkEmpIdDown" runat="server" ImageUrl="~/Images/downArrow.png" CommandName="EMP_ID_NO" OnClick="lnkSorting_Click" />
如上面的代碼所說,有2個圖像按鈕(保留在Gridview頭文件模板中)點擊後,會執行排序。仔細看會導致兩個控件具有相同的命令名稱和相同的onClick事件。更改gridview中的排序圖像按鈕
OnClick事件處理通過命令名排序的列,排序方向通過隱藏字段處理。看下面的代碼
protected void lnkSorting_Click(object sender, EventArgs e)
{
// Initialize variables
//Get Dataset values here for the grid.
var imgSort = sender as ImageButton;
string colName = imgSort.CommandName;
if (imgSort.ImageUrl.Trim().ToUpper().Contains(("up").ToUpper())) // If Up(Ascending)arrow is clicked.
{
if (hdnSortDir.Value.Equals(string.Empty) || hdnSortDir.Value.ToString().Equals("desc"))
{
hdnSortDir.Value = "asc";
//imgSort.ImageUrl = "~/Images/ascending.gif";
}
}
else if (imgSort.ImageUrl.Trim().ToUpper().Contains(("down").ToUpper()))
{
hdnSortDir.Value = "desc";
}
.....Sorting Logic...
}
我的疑問:如何在運行時更改圖像時,在gridview中執行排序?在對「員工姓名」列進行升序排序後,應該將該列的升序圖像更改爲某個其他圖像,以便用戶可以確定哪一列是排序的以及朝哪個方向。
請幫忙!!!
謝謝!
感謝您的輸入,但我使用asp.net 3.5 –
@Xor的權力,請參閱我的編輯答案。 – VinayC