我的datagridview中有三列。一列是文本,一列是组合,另一列是文本...我不想使用数据源想在像datagridview.Rows [].cells [].value这样的单元格上添加值。帮帮我,我该怎么做?我的数据库有几列......如何动态添加列值......
问问题
729 次
3 回答
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
然后在页面加载时将网格的数据源设置为列表
希望这会有所帮助...如果您有任何问题,请问我。
于 2009-05-11T17:03:47.853 回答
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 需要是您想要的列数的数组。
我们使用相同的方法来生成完整的甘特图
于 2009-05-10T04:39:12.647 回答
0
尝试一些类似的东西
dataGrid.Rows.Add(new object[] { "value1", 42, "value3"});
于 2009-05-10T04:57:52.807 回答