如何动态构造DataGrid列

在ASPX页面里,DataGrid设定自动创建列:

绑定DataGrid的代码如下(假定用xml数据绑定):     
        Dim DS As New DataSet
        Dim FS As FileStream
        Dim Reader As StreamReader

        FS = New FileStream(Server.MapPath("schemadata.xml"),FileMode.Open,FileAccess.Read)
        Reader = New StreamReader(FS)
        DS.ReadXml(Reader)
        FS.Close()

        Dim Source As DataView
        Source = new DataView(ds.Tables(0))

        MyLiteral.Text = Source.Table.TableName
        MyDataGrid.DataSource = Source
        MyDataGrid.DataBind()

如果DataGrid不自动创建列,就需要动态根据DataSet的结构创建列了

动态创建列的代码如下:
                        sName = “Column“

                        oBoundColumn = New BoundColumn
                        oBoundColumn.DataField = sName
                        oBoundColumn.HeaderText = sName
                        oBoundColumn.SortExpression = sName
                        oBoundColumn.FooterStyle.HorizontalAlign = HorizontalAlign.Center
                        oBoundColumn.FooterStyle.ForeColor = Color.White

                        DataGrid_Query.Columns.Add(oBoundColumn)

以上给的代码不完整,这里偷懒了
(因为手上有个活,来不及写了)

如果有反馈信息要求写个完整的,包括动态添加各种可能的列(包括图片\窗口\Script效果等)
我就以pubs或者xml数据写一个完整的例子,并且附录详细的帮助信息

呵呵~~~精品文章难啊,时间限制了

posted on 2004-06-05 12:00  小牛哥  阅读(1416)  评论(2编辑  收藏  举报

导航