<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.
Событие 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...
}
My Doubt: Как я могу изменить изображение во время выполнения, когда сортировка выполняется в gridview? Скажем, после сортировки столбца «Имя сотрудника» по возрастанию восходящее изображение для этого столбца должно измениться на какое-то другое изображение, чтобы пользователь мог определить, какой столбец сортируется и в каком направлении.
Пожалуйста, помогите !!!
Спасибо!