<asp:TemplateField HeaderText="Status" ItemStyle-Width="15%">
<ItemTemplate>
<asp:Image ID="Status" runat="server" />
</ItemTemplate>
</asp:TemplateField>
グリッドビューにこの列があり、テーブルにステータスとして列がありません。他の列の値に基づいてイメージを表示するためにrowdataboundを実行します。 、私は、ステータス列をソートするにはどうすればよいイメージを持つグリッドビュー列をソートする方法
protected void MyGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Image img = (Image)e.Row.FindControl("Status");
DateTime received;
DateTime read;
DateTime.TryParse(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "TimeReceived")), out received);
DateTime.TryParse(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "TimeRead")), out read);
if (received == DateTime.MinValue)
{
img.ImageUrl = "Styles/Images/red.png";
img.ToolTip = "Message Not Received";
}
else (read == DateTime.MinValue)
{
img.ImageUrl = "Styles/Images/amber.png";
img.ToolTip = "Message Received";
}
img.Visible = true;
}
}
は、その他の欄には、私が列名として並べ替え式を持っていると私はそれをソートしています。しかし、どのように私は並べ替えを行うことができます画像とこの列の。
イメージの値を設定していますか?私は状態としてソート式を追加しようとし、ソートしようとすると、私が得るエラーは、ステータスの列が見つかりません – Mark
答えをサンプル実装で更新しました。 –