日期:2014-05-18 浏览次数:20476 次
关闭了自动生成列(AutoGenerateColumns="False") <asp:GridView ID="grid_info" runat="server" AutoGenerateColumns="False" > <Columns> <asp:TemplateField > <ItemTemplate > <a><%# Eval("ID")%></a> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
//后台代码绑定GridView的方法 public void IntiGrid(DataTable dsGrid) { //由于前台有一个模板绑定了ID这个字段所以这里再次绑定前需要把除了第一列以外的列清楚 if (grid_info.Columns.Count > 1) { grid_info.Columns.RemoveAt(1); } //这里通过后台业务获取到一个数据集合 DataTable dsGrid = GerData(); //采用循环的方式绑定GridView foreach (DataColumn dc in dsGrid.Columns) { //由于前台有一个模板绑定了ID这个字段所以这里需要过滤掉不绑定 if (dc.ColumnName != "ID") { BoundField bfCase = new BoundField(); bfCase.DataField = dc.ColumnName; bfCase.HeaderText = dc.ColumnName; grid_info.Columns.Add(bfCase); } } } //现在出现的问题是我页面上有一个按钮触发数据绑定的这个方法,第一绑定数据到GridView没问题! //但是在点一次后就会出现第一列没有绑定数据的情况