我有一個從3個表中獲取數據的gridview。 而且這個gridview還有一個名爲「Role」的附加列,它不包含在數據庫中。 目前,沒有添加任何邏輯,只是簡單地使用標籤「角色」的findcontrol,我可以顯示出「ML」 但是,當我添加邏輯時,它根本沒有出現。Gridview - 引用一個新列
在任何情況下,是否有人知道如何將「ML」插入到「角色」列中,該列在數據庫中找不到,但是是從數據庫中找到的另一列引用的。
這是用於在角色列中顯示「ML」的代碼。
protected void gridAMDisplay_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//find the Label control using FindControl and set its Text on some column value
DataRowView row = (DataRowView)e.Row.DataItem;
if (!DBNull.Value.Equals(row["ModuleLeader"]))
{
if (row["ModuleLeader"].ToString() == "ModuleStr")
{
Label lbl = e.Row.FindControl("lblRole") as Label;
if (lbl != null)
{
lbl.Text = "ML";
}
}
}
}
}
當評論關閉時,ML可以在角色列中顯示的這部分代碼,否則,什麼也不顯示。 因此,我覺得findcontrol部分工作。但是,引用不起作用。
if (row["ModuleLeader"].ToString() == "ModuleStr")
{
正如我所提到的,角色列並沒有被列入任何在數據庫中的表。 因此,我在這個代碼中添加了。
<asp:TemplateField HeaderText="Role">
<ItemTemplate>
<asp:Label ID="lblRole" runat="server" Text="" />
</ItemTemplate>
</asp:TemplateField>
不過,我現在已經是問題,角色列不提及它應該列,這是「模塊領導者」
我編輯了您的問題,以正確格式化代碼示例,以便人們可以看到它們。 – 2009-09-16 01:34:50