通过外面repeater1的 Repeater1_ItemDataBound 事件里获取到里面repeater2的ID 进行绑定 常用于VS2003开发环境

html

<asp:Repeater ></td>
                </tr>
               </ItemTemplate>
              </asp:Repeater>
             </td>
            </tr>
           </table>
          </ItemTemplate>
          <FooterTemplate>
     </table>
     </FooterTemplate> </asp:Repeater>

.cs

 

public void SearchReportByVid()
  {
   DataTable dt = manager.SearchReportByVid(vid + "1").Tables[0];
   DataTable dtt = new DataTable("dttt");
   DataRow newRow = null;
   if (dt.Rows.Count != 0)
   {
    DataColumn dc = new DataColumn();
    dc = dtt.Columns.Add("item_name", Type.GetType("System.String"));
    dc = dtt.Columns.Add("check_opername", Type.GetType("System.String"));
    dc = dtt.Columns.Add("testitem_id", Type.GetType("System.String"));
    dc = dtt.Columns.Add("lx", Type.GetType("System.String"));
   
    for (int i = 0; i < dt.Rows.Count; i++)
    {
     if (i < dt.Rows.Count - 1)
     {
      if (dt.Rows[i]["item_name"].ToString().Trim() != dt.Rows[i + 1]["item_name"].ToString().Trim())
      {
       newRow = dtt.NewRow();
       newRow["item_name"] = dt.Rows[i]["item_name"].ToString();
       newRow["check_opername"] = dt.Rows[i]["check_opername"].ToString();
       newRow["testitem_id"] = dt.Rows[i]["testitem_id"].ToString();
       newRow["lx"] = dt.Rows[i]["lx"].ToString();
       dtt.Rows.Add(newRow);

      }
     }
     else
     {
      newRow = dtt.NewRow();
      newRow["item_name"] = dt.Rows[i]["item_name"].ToString();
      newRow["check_opername"] = dt.Rows[i]["check_opername"].ToString();
      newRow["testitem_id"] = dt.Rows[i]["testitem_id"].ToString();
      newRow["lx"] = dt.Rows[i]["lx"].ToString();
      dtt.Rows.Add(newRow);
     }

    }
   }
   Repeater1.DataSource = dtt;
   Repeater1.DataBind();

  }
  public DataTable SearchReportByVidIn(string item_name)
  {
   DataTable tblDatas = new DataTable("dtt");

   DataTable dt = manager.SearchReportByVid(vid + "1").Tables[0];
   if (dt.Rows.Count != 0)
   {
    DataColumn dc = new DataColumn();
    dc = tblDatas.Columns.Add("field_comment", Type.GetType("System.String"));
    dc = tblDatas.Columns.Add("field_results", Type.GetType("System.String"));
    dc = tblDatas.Columns.Add("dw", Type.GetType("System.String"));
    dc = tblDatas.Columns.Add("testitem_id", Type.GetType("System.String"));
    dc = tblDatas.Columns.Add("aid", Type.GetType("System.String"));
    dc = tblDatas.Columns.Add("fw", Type.GetType("System.String"));

    for (int i = 0; i < dt.Rows.Count; i++)
    {
     if (dt.Rows[i]["item_name"].ToString().Trim() == item_name)
     {
      DataRow newRow = tblDatas.NewRow();
      newRow["field_comment"] = dt.Rows[i]["field_comment"].ToString();
      newRow["field_results"] = dt.Rows[i]["field_results"].ToString();
      newRow["dw"] = dt.Rows[i]["dw"].ToString();
      newRow["testitem_id"] = dt.Rows[i]["testitem_id"].ToString();
      newRow["aid"] = dt.Rows[i]["aid"].ToString();
      newRow["fw"] = dt.Rows[i]["fw"].ToString();

      tblDatas.Rows.Add(newRow);
     }
    }
   }
   return tblDatas;
  }

  protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
  {
   if (e.Item.ItemType == ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
   {
    Repeater rp2 = (System.Web.UI.WebControls.Repeater)e.Item.FindControl("rptDetails1");
    Label   lb   =   (Label)e.Item.FindControl( "MaterielName");
    string item_name= lb.Text;
    DataTable tblDatas =SearchReportByVidIn(item_name.ToString());

    if (tblDatas != null)
    {
     rp2.DataSource = tblDatas;
     rp2.DataBind();
    }
   }
  }

 

相关文章: