思路,GV 动态绑定数据,(自动适应创建行与列)

关闭了自动生成列(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没问题!
//但是在点一次后就会出现第一列没有绑定数据的情况

从论坛上看到的,重在思考思路问题,我想他上面那里,从DataTable,应该还在做下字段是否为NULL的算法,否则会出错

你可能感兴趣的:(算法,server,null,asp)