我在ASP.Net中工作,我將數據庫中的狀態字段保存爲true或false。現在,我想在GridView的前端顯示true或false作爲Active或Inactive。如何在Gridview中顯示數據。在gridview中替換數據
在此先感謝。
我在ASP.Net中工作,我將數據庫中的狀態字段保存爲true或false。現在,我想在GridView的前端顯示true或false作爲Active或Inactive。如何在Gridview中顯示數據。在gridview中替換數據
在此先感謝。
如果你問如何改變true
和false
到Active
和Inactive
,你可以在你的SQL查詢中使用CASE
聲明,就像這樣:
SELECT CASE Status WHEN 1 THEN 'Active' WHEN 0 THEN 'Inactive' END FROM Something
對於更具體的回答,請發表更多細節。
使用複選框列顯示狀態字段。 (設置列禁用)
這看起來不錯,因爲它可以節省空間,但很多管理員/助理喜歡清楚地看到一行爲不活動/活動,而不是記住複選框的含義。處理這種情況的另一種方法是,如果它處於活動狀態,則將行亮綠色,如果它處於非活動狀態,則將其亮綠色 – JonH 2009-12-07 14:22:57
是的,您可以設置數據綁定事件中的行顏色。這是更友好的用戶。 (即綠色 - 活性,紅色 - 活性 – 2009-12-07 15:28:38
另一種方法是使用你的DataGrid的RowDataBound事件將其轉換什麼是弦有效/無效:
Protected Sub gvRequests_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvRequests.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim lbl As Label = CType(e.Row.FindControl("lblStatus"), Label)
If lbl.Text="1" then
lbl.Text="Active"
else
lbl.Text="Inactive"
end if
end if
end sub
如果你知道你想要的單元格位置過濾數據,您也可以在GridView RowDataBound事件中執行此操作。
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[2].Text == "1")
e.Row.Cells[2].Text = "True";
else
e.Row.Cells[2].Text = "False";
}
}
這是我用來查找和替換gridview中的文本。
如果您正在使用模板字段,那麼你可以創建服務器端功能以及評估和演示調用像下面
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblstatus" runat="server" Text='<%# GetStatusText(Eval("status")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
public string GetStatusText(string strIsActive)
{
bool val = Boolean.Parse(strIsActive);
if(val)
{
return "Active";
}
else
{
return "Inactive";
}
}
你是對的! 需要更多的細節。 – 2009-12-07 14:19:14