0

我已经用包含 4 列的代码绑定了我的 gridView,但我希望第一列是一个链接按钮。
所以我添加了 itemtemplate 但现在我的网格包含 5 列和两个相同的列,但我只想要一列是 linkbutton 列。
这是我的项目模板代码

<Columns>
    <asp:TemplateField HeaderText="File No">
     <ItemTemplate >
       <asp:LinkButton ID="LinkButton1" runat="server" 
         CommandArgument='<%# Eval("File") %>' Text='<%# Eval("File") %>' 
         OnCommand="show" ></asp:LinkButton>
     </ItemTemplate>
    </asp:TemplateField>
</Columns>

网格绑定背后的代码:

Bussiness_logic.GridView_Bind(GridView1, "GET_DATA"); 
 public static void GridView_Bind(GridView Grid_Name,String Procdure_name)
       {
           SqlDataAdapter dap = new SqlDataAdapter(Procdure_name, GetConnection());
           DataSet ds = new DataSet();
           dap.Fill(ds);
           Grid_Name.DataSource = ds;
           Grid_Name.DataBind();
       }
4

1 回答 1

0

您获得五列是因为您将 GridView 设置AutoGenerateColumntrue并在网格视图中添加了一个额外的模板列。因此GridView为数据集中存在的所有列生成列并添加额外的列,即您的模板列。现在解决这个问题 Set AutoGenerateColoumnProperty of GridView To false。定义您的列,如下所示..

  <Columns> 
    <asp:TemplateField HeaderText="File No">
 <ItemTemplate >
 <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# Eval("File") %>' Text='<%# Eval("File") %>' OnCommand="show" ></asp:LinkButton>
 </ItemTemplate> 
</asp:TemplateField> 
    <asp:BoundField DataField="NameofSecondColumnInYourDateSet" HeaderText="Column2"/>
    <asp:BoundField DataField="NameofThirdColumnInYourDateSet" HeaderText="Column3"/>
    <asp:BoundField DataField="NameofFourthColumnInYourDateSet" HeaderText="Column4"/>
    </Columns> 
于 2013-07-12T10:41:46.830 回答