aspx文件<asp:GridView ID="GridView1" OnRowDataBound="GridView1_RowDataBound" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="id" HeaderText="NO." />
<asp:BoundField DataField="jobTitle" HeaderText="Job Title" />
<asp:TemplateField HeaderText="company name">
<ItemTemplate>
<%#Eval("companyName")%>
<!--2GridView-->
<asp:GridView ID="gv_company_list" OnRowDataBound="gv_company_list_RowDataBound" AutoGenerateColumns=false runat="server">
<Columns>
<asp:BoundField DataField="userNo" HeaderText="No." Visible="false"/>
<asp:TemplateField HeaderText="Company Name">
<ItemTemplate>
<a href="../jobs/company_detail.aspx?companyID=<%#Eval("userNo")%>" target="_blank" ><%#Eval("corporatioName")%></a>
<!--3GridView-->
<asp:GridView ID="gv_job_list" AutoGenerateColumns=false runat=server>
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%#Eval("customizeJobName")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<!--end 3 GridView-->
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<!--end 2 GridView--> </ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="source" HeaderText="source" />
<asp:TemplateField HeaderText="Is Process">
<ItemTemplate>
<%#Eval("isProcess").ToString()=="0"?"NO":"YES"%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Operation">
<ItemTemplate>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
cs //GridView1_RowDataBound
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowType != DataControlRowType.Header && e.Row.RowType != DataControlRowType.Footer)
{
GridView gv = (GridView)e.Row.FindControl("gv_company_list");
string kw = DataBinder.Eval(e.Row.DataItem, "companyName").ToString();
gv.DataSource = rbiB.listCompany();
gv.DataBind();
}
}
protected void gv_company_list_RowDataBound(object sender, GridViewRowEventArgs e)
{ if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowType != DataControlRowType.Header && e.Row.RowType != DataControlRowType.Footer)
{
GridView gv = (GridView)e.Row.FindControl("gv_job_list");
string userNo = DataBinder.Eval(e.Row.DataItem, "userNo").ToString();
gv.DataSource = rjB.FindRecruitJobByUserNoTitle(userNo, jobTitle);
gv.DataBind(); }
}
怎样在 gv_company_list_RowDataBound 里得到第一层jobTitle的值啊?
<Columns>
<asp:BoundField DataField="id" HeaderText="NO." />
<asp:BoundField DataField="jobTitle" HeaderText="Job Title" />
<asp:TemplateField HeaderText="company name">
<ItemTemplate>
<%#Eval("companyName")%>
<!--2GridView-->
<asp:GridView ID="gv_company_list" OnRowDataBound="gv_company_list_RowDataBound" AutoGenerateColumns=false runat="server">
<Columns>
<asp:BoundField DataField="userNo" HeaderText="No." Visible="false"/>
<asp:TemplateField HeaderText="Company Name">
<ItemTemplate>
<a href="../jobs/company_detail.aspx?companyID=<%#Eval("userNo")%>" target="_blank" ><%#Eval("corporatioName")%></a>
<!--3GridView-->
<asp:GridView ID="gv_job_list" AutoGenerateColumns=false runat=server>
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%#Eval("customizeJobName")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<!--end 3 GridView-->
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<!--end 2 GridView--> </ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="source" HeaderText="source" />
<asp:TemplateField HeaderText="Is Process">
<ItemTemplate>
<%#Eval("isProcess").ToString()=="0"?"NO":"YES"%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Operation">
<ItemTemplate>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
cs //GridView1_RowDataBound
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowType != DataControlRowType.Header && e.Row.RowType != DataControlRowType.Footer)
{
GridView gv = (GridView)e.Row.FindControl("gv_company_list");
string kw = DataBinder.Eval(e.Row.DataItem, "companyName").ToString();
gv.DataSource = rbiB.listCompany();
gv.DataBind();
}
}
protected void gv_company_list_RowDataBound(object sender, GridViewRowEventArgs e)
{ if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowType != DataControlRowType.Header && e.Row.RowType != DataControlRowType.Footer)
{
GridView gv = (GridView)e.Row.FindControl("gv_job_list");
string userNo = DataBinder.Eval(e.Row.DataItem, "userNo").ToString();
gv.DataSource = rjB.FindRecruitJobByUserNoTitle(userNo, jobTitle);
gv.DataBind(); }
}
怎样在 gv_company_list_RowDataBound 里得到第一层jobTitle的值啊?
http://blog.csdn.net/amandag/archive/2008/06/11/2537079.aspx
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridView gv_company = e.Row.NamingContainer as GridView;
if(gv_company != null)
{
GridViewRow gvr = gv_company.NamingContainer as GridViewRow;
if(gvr != null)
{
string jobTitle = gvr.Cells[1].Text;
// to do...
}
}
GridView gv = (GridView)e.Row.FindControl("gv_job_list");
string userNo = DataBinder.Eval(e.Row.DataItem, "userNo").ToString();
gv.DataSource = rjB.FindRecruitJobByUserNoTitle(userNo, jobTitle);
gv.DataBind(); }
}
{ if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowType != DataControlRowType.Header && e.Row.RowType != DataControlRowType.Footer)
{ GridViewRow parentRow = (sender as GridView).Parent as GridViewRow;
// ... }
}思路是这样,代码我没试过..
{
GridView gv_company_list;
if (e.Row.RowType == DataControlRowType.DataRow)
{
gv_company_list = e.Row.FindControl("gv_company_list") as GridView;
if (gv_company_list != null)
{
string jobTitle= DataBinder.Eval((gv_company_list.NamingContainer as GridViewRow).DataItem, "jobTitle").ToString();
//你的代码
}
}
}