datagrid模板列设置:
<asp:TemplateColumn HeaderText="用户名称">
<ItemTemplate>
<asp:HyperLink runat="server" ID="UserName" Text='<%# DataBinder.Eval (Container.DataItem, "user_strName") %>' NavigateUrl='<%# "PrivilegeDetail.aspx?id="+DataBinder.Eval (Container.DataItem, "user_nID") %>' Target=_blank>
</asp:HyperLink>
<input type=hidden value='<%# DataBinder.Eval (Container.DataItem, "user_nID") %>' id="UserID" runat=server>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="增加模板">
<ItemTemplate>
<asp:Label id="AddTemplate" Text="" Runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="查询模板">
<ItemTemplate>
<asp:Label id="QueryTemplate" Text="" Runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>根据用户名称的ID从数据库获取其他模板列的名称,如“增加模板”,若一致,则label的text处添加一个指定的图标标志最后想要实现的效果:用户名称 增加模板 查询模板
Qq √
Ww √请高手们帮帮忙啊,着急啊~~~~~~~~~~高分相送,thks!

解决方案 »

  1.   

    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
            Select Case e.Item.ItemType
                Case ListItemType.AlternatingItem, ListItemType.Item
                    e.Item.Cells(9).Attributes.Add("OnClick", "javascript:return confirm('确认要删除吗?');")
            End Select
        End Sub
      

  2.   

    <asp:TemplateColumn HeaderText="增加模板">
    <ItemTemplate>
    <asp:Label id="AddTemplate" Text="" Runat="server"><%# strAdd %></asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>

    <asp:TemplateColumn HeaderText="查询模板">
    <ItemTemplate>
    <asp:Label id="QueryTemplate" Text="" Runat="server"><% strQuery %></asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>在.cs文件里:
    如果他又增加的权限:
    strAdd = "<img src=''>";
    DataBind();如果有查询的权限:
    strQuery = "<img src=''>";
    DataBind();
      

  3.   

    上面有个地方写错了,不好意思。
    <% strQuery %> ——〉<%# strQuery %>
      

  4.   

    你可直接在sql语句里面构造
    sql = "select decode(有无模板权限,有,'<img src=yes.gif>','<img src=no.gif>') from table ";
    (这是oracle数据库里面的用法)
      

  5.   

    <asp:TemplateColumn HeaderText="增加模板">
    <ItemTemplate>
    <asp:Label id="AddTemplate" Text='<%# GetAddTemp(DataBinder.Eval (Container.DataItem, "user_strName"))%>' Runat="server"></asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="查询模板">
    <ItemTemplate>
    <asp:Label id="QueryTemplate" Text='<%# GetSearchTemp(DataBinder.Eval (Container.DataItem, "user_strName"))%>' Runat="server"></asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>然后再.cs里写GetAddTemp和GetSearchTemp方法public string GetAddTemp(object username)
    {}
    public string GetSearchTemp(object username)
    {}
      

  6.   

    在datagrid的ItemDataBound中去判断
    Private Sub datagrid1_ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles datagrid1.ItemDataBound    If e.Item.ItemType = ListItemType.AlternatingItem OrElse e.Item.ItemType = ListItemType.Item Then
        dim id as string= e.Item.DataItem("user_nID")
          if get模板byId(id)="增加模板" then
              e.Item.Cells(1).Text="√"
          else if get模板byId(id)="删除模板" then
              e.Item.Cells(2).Text="√"
          end if
        end If
    end Sub