以下是GridView表格动态生成列方法:
1、设计
把表格AUTOGENERATECOLUMNS属性为True
2、页面代码
例子:
'显示每日销量数据
Private Sub Display()
With Me.gvGrid
.AllowSorting = True
If ddlCITY.SelectedIndex = 0 Then
.AllowPaging = True
Else
.AllowPaging = False
End If
.PageSize = intPageRecorders
.PagerSettings.Mode = PagerButtons.Numeric
.PagerSettings.Position = PagerPosition.TopAndBottom
End With
'表数据
Dim dbCommand As SqlCommand = SqlHelper.GetStoredProcCommand("USP_ST_SHOP_ACTIVITY_PICTURE_DISP_WEB") '表格存储过程
dbCommand.Parameters.Clear() '清空数据
With SqlHelper
.AddInParameter(dbCommand, "@SYSTEMID", System.Data.DbType.String, lbl_SystemID.Text) '销量报表编号
.AddInParameter(dbCommand, "@DATE_FROM", System.Data.DbType.String, Format(CDate(Me.ddlDate_From.Value), "yyyy-MM-dd")) '销售开始日期
.AddInParameter(dbCommand, "@DATE_TO", System.Data.DbType.String, Format(CDate(Me.ddlDate_TO.Value), "yyyy-MM-dd")) '销售结束日期
If Me.ddlProvince.SelectedIndex = 0 Then '省份
.AddInParameter(dbCommand, "@PROVINCE", System.Data.DbType.String, "%")
Else
.AddInParameter(dbCommand, "@PROVINCE", System.Data.DbType.String, Me.ddlProvince.SelectedValue)
End If
If blCityFilter = True Then '城市
.AddInParameter(dbCommand, "@CITY", System.Data.DbType.String, Session("city").ToString)
Else
If ddlCITY.SelectedIndex = 0 Then
.AddInParameter(dbCommand, "@CITY", System.Data.DbType.String, "%") '显示所有城市
Else
.AddInParameter(dbCommand, "@CITY", System.Data.DbType.String, ddlCITY.SelectedValue.ToString)
End If
End If
If blShopFilter = False Then
.AddInParameter(dbCommand, "@USERID", System.Data.DbType.String, "%") '显示所有门店
Else
.AddInParameter(dbCommand, "@USERID", System.Data.DbType.String, Session("userid")) '显示所有门店
End If
.AddInParameter(dbCommand, "@SHOPNAME", System.Data.DbType.String, "%" & Me.txtShopName.Text.Trim & "%") '显示所有门店
Dim myds As DataSet = .ExecuteDataSet(dbCommand)
If myds.Tables(0).Rows.Count > 0 Then
gvGrid.DataSource = myds.Tables(0)
'自动生成表格后面数据
Dim f1 As BoundField
Dim FieldValue As String
For IntCol As Integer = 7 To myds.Tables(0).Columns.Count - 1
f1 = New BoundField '实例化表格自动生成字段的字段名
f1.DataField = "" '清空
FieldValue = myds.Tables(0).Columns(IntCol).ColumnName
f1.DataField = FieldValue
f1.HeaderText = FieldValue
'设置表格样式
f1.ControlStyle.CssClass = "black"
f1.ItemStyle.BorderStyle = BorderStyle.Solid
f1.ItemStyle.BorderWidth = 1
f1.ItemStyle.Wrap = "False"
f1.FooterStyle.Wrap = "False"
If f1.DataField <> "" Then
Me.gvGrid.Columns.Add(f1) '循环添加字段
End If
Next
gvGrid.DataBind() '绑定数据
gvGrid.Columns.Clear() '清空列
End If
End With
If Not Session("currentpage") Is DBNull.Value Then '记录当前页数
Me.gvGrid.PageIndex = CInt(Session("currentpage"))
End If
End Sub
GridView表格动态生成列
最新推荐文章于 2024-07-24 23:57:11 发布