Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在Visual Basic中向datagridview控件添加新记录?_Asp.net_.net_Vb.net_Datagridview - Fatal编程技术网

Asp.net 如何在Visual Basic中向datagridview控件添加新记录?

Asp.net 如何在Visual Basic中向datagridview控件添加新记录?,asp.net,.net,vb.net,datagridview,Asp.net,.net,Vb.net,Datagridview,我想在我的网站上添加一个简单的表格/excel格式的feauture,它将显示一些值。因此,我添加了一个gridview。我根本不使用数据集或数据库投标。我只有一张有两个条目的小表格。当用户单击按钮时,我想将一些值作为新行添加到datagridview控件中。如何向VB.NET中的datagridview控件添加新记录 我尝试过以下代码: GridView1.Rows.Add(New String() {Value1, Value2}) 但我得到一个错误: “Add”不是“System.Web

我想在我的网站上添加一个简单的表格/excel格式的feauture,它将显示一些值。因此,我添加了一个gridview。我根本不使用数据集或数据库投标。我只有一张有两个条目的小表格。当用户单击按钮时,我想将一些值作为新行添加到datagridview控件中。如何向VB.NET中的datagridview控件添加新记录

我尝试过以下代码:

GridView1.Rows.Add(New String() {Value1, Value2})
但我得到一个错误:

“Add”不是“System.Web.UI.WebControl.GridViewRowCollection”的成员

我的ASPX:

<asp:GridView ID="GridView1" runat="server" Width="731px">
    <Columns>
        <asp:BoundField HeaderText="Name" />
        <asp:BoundField HeaderText="Grade" />
    </Columns>
</asp:GridView>

好的。使用数据表,如

protected void Page_Load(object sender,EventArgs e)
{
     if(!IsPostback)
     {
         DataTable myDataTable = new DataTable();

         DataColumn myDataColumn; 

         myDataColumn = new DataColumn();
         myDataColumn.DataType = Type.GetType("System.String");
         myDataColumn.ColumnName = "Value1";
         myDataTable.Columns.Add(myDataColumn);

         myDataColumn = new DataColumn();
         myDataColumn.DataType = Type.GetType("System.String");
         myDataColumn.ColumnName = "Value2";
         myDataTable.Columns.Add(myDataColumn);
         ViewState["Data"]=myDataTable;
     }
}


protected void btnAdd(object sender,EventArgs e)
{
    Datatable Dt=(Datatable)ViewState["Data"];
    DataRow Dr=Dt.NewRow();
    Dr[0]=TextBox1.Text;
    Dr[1]=TextBox2.Text;
    Dt.Rows.Add(Dr);
    ViewState["Data"]=Dt;
}

希望这能对你有所帮助。

这很容易。您所要做的就是将网格绑定到任何集合,例如列表、数组、数据表。创建您的记录类

Public Class MyRecord
    Private _name As String = ""
    Private _grade As Integer = ""

    Public Property Name() As String 
        Get   
            Return Me._name    
        End Get    
        Set(ByVal value As String)   
            Me._name = Value
        End Set   
    End Property

    Public Property Grade() As Integer
        Get   
            Return Me._grade 
        End Get    
        Set(ByVal value As Integer)   
            Me._grade = Value
        End Set   
    End Property

End Class
在页面中,将网格绑定到列表

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPotback Then

        Dim list As New List(Of MyRecord)()
        list.Add(New MyRecord() With { _
                       Key .Name = "dsfsdf", _
                       Key .Grade = 45 _
        })
        list.Add(New MyRecord() With { _
                       Key .Name = "dsfsd234f", _
                       Key .Grade = 50 _
        })

        Session("MyList") = list
        GridView1.DataSource = list
        GridView1.DataBind()
    End If
End Sub
然后在单击事件时添加一些带有文本框、按钮和句柄按钮的表单

Protected Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
    Dim list As New List(Of MyRecord)        

    If Session("MyList") Is Not Nothing Then
        list = DirectCast(Session("MyList"), List(Of MyRecord)) 
    End If

    list.Add(New MyRecord() With { _
                       Key .Name = txt1.Text, _
                       Key .Grade = Convert.ToInt32(txt2.Text) _
    })


    GridView1.DataSource = list 
    GridView1.DataBind()

End Sub

抱歉,如果出现任何错误,我是一名C#开发人员

您能否在我的aspx后面提供您的aspx标记和代码: