0

这是我的代码:

protected void CallCardStatus_RowDataBound(object sender, GridViewRowEventArgs e)
{
    var thisRow = e.Row;
    if (e.Row.RowType == DataControlRowType.DataRow)
    {

         switch (thisRow.Cells[11].Text)
         {
              case "MBMK":
                        thisRow.Cells[9].Text = "JBPM MELAKA";
                        break;
              case "IPBJMA":             
                        thisRow.Cells[9].Text = "JBPM KUALA LUMPUR";
                        break;
              case "JBPMBJ":
                        thisRow.Cells[9].Text = "JBPM SELANGOR";    
                        break;
                    default:
                        break;
           }

      }
 }

这是我的gridview标记的一部分。

 <asp:GridView ID="CallCardStatus" runat="server" AutoGenerateColumns="False"
    OnRowDataBound="CallCardStatus_RowDataBound" HorizontalAlign="Center" 
    OnRowCommand="CallCardStatus_RowCommand" 
    DataKeyNames="call_card_no" Width="100%" 
         <Columns>
                <asp:BoundField DataField="call_city_desc" HeaderText="City" 
            meta:resourcekey="BoundFieldResource4">
                    <HeaderStyle BackColor="#666666" BorderColor="#999999" BorderStyle="Groove" 
                BorderWidth="4px" Font-Names="Arial Narrow" Font-Size="Large" 
                HorizontalAlign="Center" />
                    <ItemStyle HorizontalAlign="Left" Font-Names="Arial Narrow" BorderColor="#999999" 
                BorderStyle="Inset" BorderWidth="2px" Font-Size="10pt" />
                </asp:BoundField>
                <asp:BoundField DataField="owner_department_code" HeaderText="PSCC" 
                    Visible="False" />
            </Columns>
        </asp:GridView>

我想更改网格视图中的值。我已经尝试过上面的代码,但它不起作用。请帮助..Siti .. :)

4

1 回答 1

2

在方法后面的代码中编写您的逻辑并按如下方式调用该方法:

如果您使用的是模板文件,则调用方法如下:

  <asp:TemplateField HeaderText="Column_Name" SortExpression="Column_Name">
  <ItemTemplate>
  <asp:Label ID="Label1" runat="server" 
      Text='<%# YourMethodName(Eval("DatabaseFiledName")) %>'></asp:Label>
  </ItemTemplate>
 </asp:TemplateField>

或者,如果您使用的是 boundField 那么

<asp:BoundField DataField="<%#YourMethodName(Eval("DatabaseFiledName")) %>" HeaderText="Column_Name" ReadOnly="True" SortExpression="Column_Name"/>

并且您的方法背后的代码将是:

public string YourMethodName(object strValue)
 {
    string retString ="";

   switch (Convert.ToString(strValue))
     {
          case "MBMK":
                retString "JBPM MELAKA";
               break;
          case "IPBJMA":             
                   retString = "JBPM KUALA LUMPUR";
                    break;
          case "JBPMBJ":
                   retString  = "JBPM SELANGOR";    
                    break;
                default:
                    break;

          return retString;
       }
}
于 2012-11-29T12:17:24.417 回答