2013-07-12 62 views
0

我绑定了我的GridView,后面的代码包含4列,但我希望第一列是一个linkbutton。
所以,我添加了itemtemplate,但现在我的网格包含5列与两个相同的列,但我只想要一列是linkbutton列。
这是我的ItemTemplate代码GridView列修改

<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(); 
     } 
+0

请人帮忙 – Ankit

+0

我想知道我怎么可以从电网..since我得到两分相同的列 – Ankit

回答

0

你获得五列,因为你设置的GridView AutoGenerateColumntrue并在网格中添加一个额外的模板列view.So GridView产生列中的所有列出现在您的数据集中,并为您添加额外的列,即您的模板列。 现在要解决这个问题设置AutoGenerateColoumn GridView的属性到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> 
+0

我如何删除网格约束力或不删除一列? – Ankit

+0

@Ankit无需改变任何东西,除了我在这里回答 –

+0

完成,谢谢。 – Ankit