Asp.net DataGrid 动态加载列

Asp.net DataGrid 动态加载列,第1张

DataTable dt=new DataTable()

// 构造datatable

//......

this.DataGrid1.AutoGenerateColumns=true

this.DataGrid1.DataSource=dt

this.DataGrid1.DataBind()

最简单的方法就是这样做了.从数据库读出数据.根据要显示的格式先构造一个datatable再把这个datatable绑定到datagrid就行了,注意把datagrid的AutoGenerateColumns属性设为true.这样它就根据datatalbe的数据自动生成列了

很好实现啊!datagrid是显示数据的,你只要求插入一行记录!

所以只要对表 *** 作就可以了!

private void btnQuery_Click(object sender, System.EventArgs e)

{

SqlConnection conn = new SqlConnection(connectionstring)

conn.open()

SqlCommand cmd = new SqlCommand(insertstring,conn)

cmd.ExcuteNonQuery()

conn.close()

DataGridShow()// 调用datagrid显示数据的函数

}

private void DataGridShow()

{

//datagrid的绑定显示数据

}

这样就ok了!

提供一个思路

var columns={}

这里根据你的表名加载不同的列名添加到columns中

$("#id").datagrid({

columns: [[colum你s ]]

})

你也可以根据你的返回的json数据处理一下,看返回数据中有哪些需要显示在页面上的 动态添加到columns中

function anyncColumns() {

            var templateData ="通过ajax返回不同的数据和列名重新绑定数据"

            var colfield = "id|编号,name|名称,sortindex|序号"

            var cols = []

            var cfs = colfield.split(',')

            $(cfs).each(function (index) {

                var s = cfs[index].split('|')

                var col = { field: s[0], title: s[1] }

                cols.push(col)

            })

            $("#tt").datagrid({

                striped: true,

                singleSelect: true,

                loadMsg: "请稍后...",

                columns: [cols]

            })

        

        $("#tt")..datagrid("loadData", templateData)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11934356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存