Gridview添加空行的程序
C#程序
public partial class gdzc_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTestData();
}
} protected void BindTestData()
{
//模拟出一些原始数据绑定DataGrid
DataTable dt1 = new DataTable("Table1");
dt1.Columns.Add("ID");
dt1.Columns.Add("产品");
dt1.Columns.Add("数量");
dt1.Columns.Add("日期");
dt1.Columns.Add("状态"); dt1.Rows.Add(new object[] { 123, "产品AA", 12, "2006-11-14", "1" });
dt1.Rows.Add(new object[] { 124, "产品BB", 21, "2006-11-13", "0" });
dt1.AcceptChanges(); this.GridView1.DataSource = dt1;
this.GridView1.DataBind();
} protected DataTable GetDataFromGrid()
{
DataTable dt1 = new DataTable("Table1");
dt1.Columns.Add("ID");
dt1.Columns.Add("产品");
dt1.Columns.Add("数量");
dt1.Columns.Add("日期");
dt1.Columns.Add("状态");
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow gRow = GridView1.Rows[i];
DataRow newRow = dt1.NewRow();
newRow[0] = GridView1.DataKeys[i].Value;
newRow[1] = ((TextBox)gRow.FindControl("TextBox1")).Text;
newRow[2] = ((TextBox)gRow.FindControl("TextBox2")).Text;
newRow[3] = ((TextBox)gRow.FindControl("TextBox3")).Text;
newRow[4] = ((DropDownList)gRow.FindControl("DropDownList1")).SelectedValue;
dt1.Rows.Add(newRow);
}
dt1.AcceptChanges();
return dt1;
} protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt = this.GetDataFromGrid();
DataRow newRow = dt.NewRow();
newRow["状态"] = "1";
dt.Rows.Add(newRow);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
DataTable dt = this.GetDataFromGrid();
foreach (DataRow row in dt.Rows)
{
if (row["ID"] != null)
{
//更新该行记录到数据库
}
else
{
//插入该行记录到数据库
}
}
}
}
我转为VB程序,但程序运行时空行不能添加!Partial Class gdzc_Default2
Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
BindTestData()
End If
End Sub
Sub BindTestData()
Dim dt1 As DataTable = New DataTable("table1")
dt1.Columns.Add("ID")
dt1.Columns.Add("产品")
dt1.Columns.Add("数量")
dt1.Columns.Add("日期")
dt1.Columns.Add("状态") dt1.Rows.Add(New Object() {123, "产品AA", 12, "2006-11-14", "1"})
dt1.Rows.Add(New Object() {124, "产品BB", 21, "2006-12-14", "0"})
dt1.AcceptChanges() GridView1.DataSource = dt1
GridView1.DataBind()
End Sub
Function GetDataFromGrid() As DataTable
Dim k As Integer = 0
Dim dt1 As DataTable = New DataTable("Table1")
dt1.Columns.Add("ID")
dt1.Columns.Add("产品")
dt1.Columns.Add("数量")
dt1.Columns.Add("日期")
dt1.Columns.Add("状态")
While k < dt1.Rows.Count
Dim gRow As GridViewRow
gRow = GridView1.Rows(k)
Dim newRow As DataRow = dt1.NewRow()
Dim a1 As TextBox = gRow.FindControl("TextBox1")
Dim a2 As TextBox = gRow.FindControl("TextBox2")
Dim a3 As TextBox = gRow.FindControl("TextBox3")
Dim a4 As DropDownList = gRow.FindControl("DropDownList1")
newRow(0) = GridView1.DataKeys(k).Value
newRow(1) = a1.Text
newRow(2) = a2.Text
newRow(3) = a3.Text
newRow(4) = a4.SelectedValue dt1.Rows.Add(newRow)
k = k + 1
End While
dt1.AcceptChanges()
Return dt1
End Function Sub Button1_Click(ByVal s As Object, ByVal e As EventArgs)
Dim dt As DataTable = GetDataFromGrid()
Dim newRow As DataRow = dt.NewRow()
newRow("状态") = "1"
dt.Rows.Add(newRow)
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
End Class各位老大帮帮忙,问题出在哪呢?
C#程序
public partial class gdzc_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTestData();
}
} protected void BindTestData()
{
//模拟出一些原始数据绑定DataGrid
DataTable dt1 = new DataTable("Table1");
dt1.Columns.Add("ID");
dt1.Columns.Add("产品");
dt1.Columns.Add("数量");
dt1.Columns.Add("日期");
dt1.Columns.Add("状态"); dt1.Rows.Add(new object[] { 123, "产品AA", 12, "2006-11-14", "1" });
dt1.Rows.Add(new object[] { 124, "产品BB", 21, "2006-11-13", "0" });
dt1.AcceptChanges(); this.GridView1.DataSource = dt1;
this.GridView1.DataBind();
} protected DataTable GetDataFromGrid()
{
DataTable dt1 = new DataTable("Table1");
dt1.Columns.Add("ID");
dt1.Columns.Add("产品");
dt1.Columns.Add("数量");
dt1.Columns.Add("日期");
dt1.Columns.Add("状态");
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow gRow = GridView1.Rows[i];
DataRow newRow = dt1.NewRow();
newRow[0] = GridView1.DataKeys[i].Value;
newRow[1] = ((TextBox)gRow.FindControl("TextBox1")).Text;
newRow[2] = ((TextBox)gRow.FindControl("TextBox2")).Text;
newRow[3] = ((TextBox)gRow.FindControl("TextBox3")).Text;
newRow[4] = ((DropDownList)gRow.FindControl("DropDownList1")).SelectedValue;
dt1.Rows.Add(newRow);
}
dt1.AcceptChanges();
return dt1;
} protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt = this.GetDataFromGrid();
DataRow newRow = dt.NewRow();
newRow["状态"] = "1";
dt.Rows.Add(newRow);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
DataTable dt = this.GetDataFromGrid();
foreach (DataRow row in dt.Rows)
{
if (row["ID"] != null)
{
//更新该行记录到数据库
}
else
{
//插入该行记录到数据库
}
}
}
}
我转为VB程序,但程序运行时空行不能添加!Partial Class gdzc_Default2
Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
BindTestData()
End If
End Sub
Sub BindTestData()
Dim dt1 As DataTable = New DataTable("table1")
dt1.Columns.Add("ID")
dt1.Columns.Add("产品")
dt1.Columns.Add("数量")
dt1.Columns.Add("日期")
dt1.Columns.Add("状态") dt1.Rows.Add(New Object() {123, "产品AA", 12, "2006-11-14", "1"})
dt1.Rows.Add(New Object() {124, "产品BB", 21, "2006-12-14", "0"})
dt1.AcceptChanges() GridView1.DataSource = dt1
GridView1.DataBind()
End Sub
Function GetDataFromGrid() As DataTable
Dim k As Integer = 0
Dim dt1 As DataTable = New DataTable("Table1")
dt1.Columns.Add("ID")
dt1.Columns.Add("产品")
dt1.Columns.Add("数量")
dt1.Columns.Add("日期")
dt1.Columns.Add("状态")
While k < dt1.Rows.Count
Dim gRow As GridViewRow
gRow = GridView1.Rows(k)
Dim newRow As DataRow = dt1.NewRow()
Dim a1 As TextBox = gRow.FindControl("TextBox1")
Dim a2 As TextBox = gRow.FindControl("TextBox2")
Dim a3 As TextBox = gRow.FindControl("TextBox3")
Dim a4 As DropDownList = gRow.FindControl("DropDownList1")
newRow(0) = GridView1.DataKeys(k).Value
newRow(1) = a1.Text
newRow(2) = a2.Text
newRow(3) = a3.Text
newRow(4) = a4.SelectedValue dt1.Rows.Add(newRow)
k = k + 1
End While
dt1.AcceptChanges()
Return dt1
End Function Sub Button1_Click(ByVal s As Object, ByVal e As EventArgs)
Dim dt As DataTable = GetDataFromGrid()
Dim newRow As DataRow = dt.NewRow()
newRow("状态") = "1"
dt.Rows.Add(newRow)
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
End Class各位老大帮帮忙,问题出在哪呢?
http://authors.aspalliance.com/aldotnet/examples/translate.aspx
.Columns.Add(New DataColumn("名称", GetType(String)))
应该这样写
Dim k As Integer = 0
Dim dt1 As DataTable = New DataTable("Table1")
dt1.Columns.Add(New DataColumn("ID", GetType(String)))
dt1.Columns.Add(New DataColumn("产品", GetType(String)))
dt1.Columns.Add(New DataColumn("数量", GetType(String)))
dt1.Columns.Add(New DataColumn("日期", GetType(String)))
dt1.Columns.Add(New DataColumn("状态", GetType(String)))
改成上面还是不行呀!
这个可真不错,问题解决,谢了