我的datagridview中有三列。一个是文本,一个是Combo,另一个是Text ...我不想使用datasource想在像cellgridview.Rows []。cells []这样的单元格上添加值。值。帮帮我怎么做?我的数据库有几列...如何动态添加列值....
答案 0 :(得分:1)
我只需要做同样的事情......这里是你添加一个列的方法。
If Not IsPostBack Then <br>
Dim field As New TemplateField
field.HeaderText = "Name of Column"
Dim col As DataControlField = field
GridView.Columns.Add(col)
End If
**在Gridview_rowcreated Sub
中e.row.cells(cellnumber from 0 to N).controls.Add(data)
您将不得不创建连接和连接字符串
这是一个例子......
Dim Dbconn As SqlConnection
Dim Dbcmd As SqlCommand
Dbcmd = New Data.SqlClient.SqlCommand()
Dbcmd.Connection = Dbconn
Dbcmd.CommandType = Data.CommandType.Text
Dbcmd.Commandtext = "select * from table"
dbconn.open()
//then you need a data reader
dim dr as sqlclient.sqldatareader
dr = dbcmd.executereader
while dr.read
add each item to a list
end while
然后在页面加载时将网格的数据源设置为列表
希望这有帮助...如果您有任何问题,请问我。
答案 1 :(得分:0)
我强烈建议您使用Repeater而不是datagridview,并根据需要渲染任意数量的列。
.aspx代码
<tr>
<asp:Repeater ID="rptDayHeaders" runat="server">
<ItemTemplate>
<td>
<strong><asp:Literal ID="ltMonthHeader" runat="server"></asp:Literal></strong>
</td>
</ItemTemplate>
</asp:Repeater>
</tr>
.aspx.vb代码
rptDayHeaders.DataSource = daysList
rptDayHeaders.DataBind()
其中dayslist需要是您想要的列数的数组。
我们使用相同的方法生成完整的甘特图
答案 2 :(得分:0)
尝试一下
的内容dataGrid.Rows.Add(new object[] { "value1", 42, "value3"});