在gridview标题中排序图像

时间:2013-10-15 10:34:13

标签: c# .net

我有一个名为Gridview的{​​{1}}。我想在Gridview列的标题中对图像进行上下排序。但SearchGenericReport始终返回GetSortColumnIndex(string strrCol)。所以我无法添加图片。我在这里缺少什么?

-    value

但是当我在gridview.Columns上快速观察时 - 其结果是“enumertaion yield no results”等等。 并且它不会仅用于For Each循环..而且我修改了这样的代码 - int GetSortColumnIndex()         {

public int GetSortColumnIndex(String strCol)
{
    DataTable result= Session["TaskTable"] as DataTable;
    foreach (DataControlField field in result.Columns)
    {
        if (field.SortExpression == strCol)
        {
            return SearchGenericReport.Columns.IndexOf(field);
        }
    }

    return -1;
}
void AddSortImage(GridViewRow headerRow)
{

    int selCol = GetSortColumnIndex(m_strSortExp);

    //if (-1 == selCol)
    //{
    //    return;
    //}

    // Create the sorting image based on the sort direction
    Image sortImage = new Image();

    if (SortDirection.Ascending == m_SortDirection)
    {
        sortImage.ImageUrl = "img/uparrow.png";
        sortImage.AlternateText = "Ascending";
    }
    else
    {
        sortImage.ImageUrl = "img/downarrow.png";
        sortImage.AlternateText = "Descending";
    }

    // Add the image to the appropriate header cell
    headerRow.Cells[selCol].Controls.Add(sortImage);

}

1 个答案:

答案 0 :(得分:0)

当对多列进行排序时,field。SortExpression属性包含用于排序的字段的逗号分隔列表。因此,您可以尝试使用Contains(strCol)

更好的解决方案是拆分逗号分隔的字符串表达式并检查它是否包含列strCol