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;
           }

      }
 }

これが私のグリッドビューのマークアップの一部です。

 <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>

または、boundFieldThenを使用している場合

<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 に答える