2012-05-17 76 views
3

所以基本上我從數據庫中提取數據,我希望它在GridView中顯示。不幸的是,一週的日子被存儲爲整數,所以星期一等於0,星期二是1等。等等在GridView中顯示數據之前編輯數據

基本上,我怎麼去改變那些數據,因爲它正在輸出,以便它轉換數字到一週中的正確的一天。

我有一個網格視圖如下,在現階段,我把它設置了onrowdatabound:

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
         AutoGenerateColumns="False" DataSourceID="SqlDataSource2" Width="721px" 
         onrowdatabound="GridView_RowDataBound" 
         > 

然後後面的代碼GridView_RowDataBound是:

protected void GridView_RowDataBound(Object sender, GridViewRowEventArgs e) 
    { 

     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 

     } 

    } 

我認爲我只需要把正確的代碼放在那裏。但是,由於某種原因,我無法對單個單元格做任何事情,只能對特定列中的每個單元格執行任何操作。所以我可以將一列中的每個單元格更改爲粗體,但不能單獨更改單元格。我確定有一種方法,但無法理解如何去做!

任何幫助將不勝感激!

感謝

 protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e) 
    { 

     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      int days = (int)GridView1.Rows[e.Row.RowIndex].Cell[2].Text; 
      if (days == 0) GridView1.Rows[e.Row.RowIndex].Cell[2].Text = "Monday"; 
      if (days == 1) GridView1.Rows[e.Row.RowIndex].Cell[2].Text = "Tuesday"; 
      if (days == 1) GridView1.Rows[e.Row.RowIndex].Cell[2].Text = "Wednesday"; 
      if (days == 1) GridView1.Rows[e.Row.RowIndex].Cell[2].Text = "Thursday"; 
      if (days == 1) GridView1.Rows[e.Row.RowIndex].Cell[2].Text = "Friday"; 

     } 

    } 
+0

看看這個問題:http://stackoverflow.com/questions/10586854/how-to-set-the-style-of-a-cell-in-aspdatagrid/10587105#10587105 – Icarus

+0

待辦事項你想設置每一個單元格或某個特定的單元格? – jams

+0

該列中的每個單元格都是一週中適當的一天。不是numnber – user1096685

回答

3

你可以試試這個。

if (e.Row.RowType == DataControlRowType.DataRow) 
{ 
    string days = e.Row.Cells[2].Text; 
    if (days == "0") e.Row.Cells[2].Text = "Monday"; 
    if (days == "1") e.Row.Cells[2].Text = "Tuesday"; 
    if (days == "2") e.Row.Cells[2].Text = "Wednesday"; 
    if (days == "3") e.Row.Cells[2].Text = "Thursday"; 
    if (days == "4") e.Row.Cells[2].Text = "Friday"; 
} 
+0

這是否會循環所有這些,或只是做最上面的?這是我以前遇到的問題。我會在30分鐘內嘗試,並會更新你(如果正確,請標記爲答案)謝謝你的幫助! – user1096685

+0

'GridView_RowDataBound'此事件發生在gridview中的每一行,因此它將設置該列中的每個單元格。 – jams

+0

我明白。真棒。剛剛嘗試過,得到以下有關單詞「單元格」的錯誤:\t'System.Web.UI.WebControls.GridViewRow'沒有包含'Cell'的定義,也沒有擴展方法'Cell'接受類型的第一個參數'System.Web.UI.WebControls.GridViewRow'可以找到 – user1096685