我將從gridview中的列中查找值。如果在該列中具有該值的行,我會將這些行添加到DataTable中。之後我會將它綁定到另一個gridview來顯示這些行。但是,當我嘗試這樣做時,INT中的列不能在INT中顯示,但只能在TEXT中顯示。另外,只有一行被綁定到數據表中,並在另一個gridview中顯示出來,如果許多行在該列中具有特定值,而不僅僅是一行,則需要許多行。將行從GridView綁定到DataTable並在另一個GridView中顯示它
這是我使用的代碼:
public void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("DATE"));
dt.Columns.Add(new DataColumn("CODE"));
dt.Columns.Add(new DataColumn("PERSON_NAME"));
dt.Columns.Add(new DataColumn("STATUS"));
dt.Columns.Add(new DataColumn("HOBBIES"));
dt.Columns.Add(new DataColumn("SCORE"));
dt.Columns.Add(new DataColumn("ITEM"));
dt.Columns.Add(new DataColumn("QUANTITY"));
dt.Columns.Add(new DataColumn("TYPE"));
dt.Columns.Add(new DataColumn("RATING"));
dt.Columns.Add(new DataColumn("PRICE"));
foreach (GridViewRow gvr in GridView1.Rows)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (Convert.ToString(DataBinder.Eval(e.Row.DataItem, "STATUS")) == "Regular")
{
dr = dt.NewRow();
dr["DATE"] = e.Row.Cells[0].Text;
dr["CODE"] = e.Row.Cells[1].Text;
dr["PERSON_NAME"] = e.Row.Cells[2].Text;
dr["STATUS"] = e.Row.Cells[3].Text;
dr["HOBBIES"] = e.Row.Cells[4].Text;
dr["SCORE"] = e.Row.Cells[5].Text;
dr["ITEM"] = e.Row.Cells[6].Text;
dr["QUANTITY"] = e.Row.Cells[7].Text;
dr["TYPE"] = e.Row.Cells[8].Text;
dr["RATING"] = e.Row.Cells[9].Text;
dr["PRICE"] = e.Row.Cells[10].Text;
dt.Rows.Add(dr);
GridView2.DataSource = dt;
GridView2.DataBind();
}
是否有人可以幫助我在此?非常感謝!!
GridView2.DataSource = dt; GridView2.DataBind();將這些行放在foreach循環塊之外 –
嗨Amit,試圖將這些行放在foreach循環塊之外,但這次沒有出現網格視圖。 –