Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Gridview列删除_C#_Asp.net_Gridview_Field - Fatal编程技术网

C# Gridview列删除

C# Gridview列删除,c#,asp.net,gridview,field,C#,Asp.net,Gridview,Field,我有一个在SP.NET2.0C上工作的web应用程序,其中有一个GridView,其数据源是Oracle数据库。我在codebehind中将数据放入gridview,而不直接设置数据源 我想创建一个超链接字段名,将我带到有关特定记录的详细信息页面。最终的结果是,它创建了超链接字段以及从数据源获取的常规字段,这是我不想要的。如果从SELECT语句中删除该字段,则会出现一个错误,例如:在datasource中找不到名称 如何消除常规字段,而获得超链接字段?我已经尝试过Gridview.Columns

我有一个在SP.NET2.0C上工作的web应用程序,其中有一个GridView,其数据源是Oracle数据库。我在codebehind中将数据放入gridview,而不直接设置数据源

我想创建一个超链接字段名,将我带到有关特定记录的详细信息页面。最终的结果是,它创建了超链接字段以及从数据源获取的常规字段,这是我不想要的。如果从SELECT语句中删除该字段,则会出现一个错误,例如:在datasource中找不到名称

如何消除常规字段,而获得超链接字段?我已经尝试过Gridview.Columns.Removecolumnlocation,但这不起作用,因为原来那里不存在列

请帮忙
谢谢。

禁用gridview的AutoGenerateColumns属性,手动设置超链接列,而不是删除列:

<asp:gridview id="GridView1" 
    autogeneratecolumns="false"
    runat="server">                
        <asp:HyperLinkField DataNavigateUrlFields="UserID" 
            DataNavigateUrlFormatString="UserDetails.aspx?id={0}"
            DataTextField="UserName" />
</asp:gridview>

禁用gridview的AutoGenerateColumns属性并手动设置超链接列,而不是删除列:

<asp:gridview id="GridView1" 
    autogeneratecolumns="false"
    runat="server">                
        <asp:HyperLinkField DataNavigateUrlFields="UserID" 
            DataNavigateUrlFormatString="UserDetails.aspx?id={0}"
            DataTextField="UserName" />
</asp:gridview>
听起来你已经在网格上设置为TRUE。这意味着将为查询返回的每一列生成一列

如果希望有一些自定义列,则应将AutoGenerateColumns设置为false,并将所有列作为asp:BoundField添加到GirdView中,将超链接列作为asp:TemplateField添加到GirdView中

如果我做得不恰当,请告诉我

下面是一些代码:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField DataField="Name" />
        <asp:BoundField DataField="Whatever" />
        <asp:TemplateField>
        <ItemTemplate>
        <a href='<%# Eval("UserId", "URL_TO_USER?userId={0}") %>'>Details</a>
        </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
听起来你已经在网格上设置为TRUE。这意味着将为查询返回的每一列生成一列

如果希望有一些自定义列,则应将AutoGenerateColumns设置为false,并将所有列作为asp:BoundField添加到GirdView中,将超链接列作为asp:TemplateField添加到GirdView中

如果我做得不恰当,请告诉我

下面是一些代码:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField DataField="Name" />
        <asp:BoundField DataField="Whatever" />
        <asp:TemplateField>
        <ItemTemplate>
        <a href='<%# Eval("UserId", "URL_TO_USER?userId={0}") %>'>Details</a>
        </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>