这是我的代码:
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>
我想在gridview中更改值。我曾尝试过上面的代码,但它没有用。请帮助..Siti ..:)
答案 0 :(得分: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;
}
}