0

我的datagridview中有三列。一列是文本,一列是组合,另一列是文本...我不想使用数据源想在像datagridview.Rows [].cells [].value这样的单元格上添加值。帮帮我,我该怎么做?我的数据库有几列......如何动态添加列值......

4

3 回答 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 回答