我有一个关于招聘系统的项目。在这个项目中,我有gridview,其中包含空缺职位,公司名称,部门名称等详细信息。现在我想要的是,空缺职位应该有超链接,当用户点击职位空缺时,应该显示该职位空缺的标准。另一个网格没有刷新该页面。这意味着我必须在另一个内部维护一个网格,但我不知道如何实现这一目标。 任何人都可以指导我吗???
答案 0 :(得分:0)
亲爱的朋友我在数据列表中使用了gridview,所以你可以使用相同的方式 gridview内的网格视图。这里是代码示例
.aspx代码
<asp:DataList ID="dl_College" runat="server" OnItemCommand="dl_College_ItemCommand"
OnItemDataBound="dl_College_ItemDataBound">
<ItemTemplate>
<fieldset>
<asp:GridView ID="grdCorse" runat="server" AutoGenerateColumns="false" CssClass="text12_d"
Width="100%">
<HeaderStyle BackColor="#244e7e" ForeColor="#f7f7f7" />
<RowStyle CssClass="gridview-row" />
<Columns>
<asp:TemplateField HeaderText="Stream Name">
<HeaderStyle CssClass="grdsize" />
<ItemStyle Width="42%" />
<ItemTemplate>
<span class="text12_d">
<%#Eval("StreamName")%>
</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Seats">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" Width="10%" />
<ItemTemplate>
<%#Eval("StreamSeats")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Duration">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" Width="10%" />
<ItemTemplate>
<%#Eval("StreamDuration")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fee">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" Width="15%" />
<ItemTemplate>
<asp:Label ID="lblStreamFee" runat="server" Text='<%#Eval("StreamFees")%>' Visible="false"></asp:Label>
<asp:ImageButton ID="imgLock" runat="server" PostBackUrl='<%# String.Format("{0}{1}","Login.aspx?ClgId=" , Eval("CollegeId")) %>'
CausesValidation="false" ImageUrl="~/images/Lock.png" Width="30" Height="20" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Mode">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" Width="10%" />
<ItemTemplate>
<%#Eval("StreamMode")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</fieldset>
<br />
<asp:Panel ID="pnlCollegeRank" runat="server">
<fieldset>
<legend class="Legend_Header"><strong>College Rank</strong></legend>
<asp:Panel ID="pnlImage" runat="server" Visible="false">
<table width="100%">
<tr>
<td style="width: 100%;" class="Main_StripCollegeRank">
To check college rank, please login
</td>
<td style="float: right; background-color: #3b5998;">
<asp:ImageButton ID="imgLock" PostBackUrl='<%# String.Format("{0}{1}","Login.aspx?Collegeid=" , Eval("CollegeId")) %>'
CausesValidation="false" ImageUrl="~/images/Lock.png" runat="server" />
</td>
</tr>
</table>
</asp:Panel>
<asp:Panel ID="pnlRank" runat="server" Visible="false">
<span style="float: left; padding-left: 6px; width: auto">
<asp:GridView ID="grdCollegeRank" runat="server" AutoGenerateColumns="false" CssClass="text12_d"
Width="">
<HeaderStyle ForeColor="White" />
<RowStyle CssClass="gridview-row" />
<AlternatingRowStyle BackColor="#fffbfd" />
<Columns>
<asp:TemplateField HeaderText="">
<HeaderTemplate>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr style="background-color: #244e7e">
<td style="width: 100%; background-color: #244e7e; font-size: 13px; font-weight: bold;
color: white; padding-left: 3px" colspan="2" align="left">
College Rank in
<asp:Label ID="lblYear" runat="server" Text="2011" ForeColor="white" Font-Size="13px"
Font-Bold="true"></asp:Label>
</td>
</tr>
<tr>
<td style="width: auto; color: #244e7e; text-align: left;" class="grid_HeaderRank">
Source
</td>
<td style="width: auto; color: #244e7e; text-align: right;" class="grid_HeaderRank">
Rank
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="width: auto;" align="left" class="text12_d">
<asp:Label ID="lblSource" runat="server" Text='<%#Eval("SourceName")%>'></asp:Label>
</td>
<td style="width: auto; text-align: right; padding-right: 16px" class="text12_d">
<asp:Label ID="lblRank" runat="server" Text='<%#Eval("OverallRank")%>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</span><span style="float: left; padding-left: 6px; width: auto">
<asp:GridView ID="grdCollegeRank1" runat="server" AutoGenerateColumns="false" CssClass="text12_d"
Width="">
<HeaderStyle ForeColor="White" />
<RowStyle CssClass="gridview-row" />
<AlternatingRowStyle BackColor="#fffbfd" />
<Columns>
<asp:TemplateField HeaderText="">
<HeaderTemplate>
<table width="100%">
<tr style="background-color: #244e7e">
<td style="width: 100%; background-color: #244e7e; font-size: 13px; font-weight: bold;
color: white; padding-left: 3px" colspan="2" align="left">
College Rank in
<asp:Label ID="lblYear" runat="server" Text="2010" ForeColor="white" Font-Size="13px"
Font-Bold="true"></asp:Label>
</td>
</tr>
<tr>
<td style="width: auto; color: #244e7e; text-align: left;" class="grid_HeaderRank">
Source
</td>
<td style="width: auto; color: #244e7e; text-align: right;" class="grid_HeaderRank">
Rank
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table width="100%">
<tr>
<td style="width: auto;" align="left" class="text12_d">
<asp:Label ID="lblSource" runat="server" Text='<%#Eval("SourceName")%>'></asp:Label>
</td>
<td style="width: auto; text-align: right; padding-right: 16px" class="text12_d">
<asp:Label ID="lblRank" runat="server" Text='<%#Eval("OverallRank")%>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</span><span style="float: left; padding-left: 6px; width: auto">
<asp:GridView ID="grdCollegeRank2" runat="server" AutoGenerateColumns="false" CssClass="text12_d"
Width="">
<HeaderStyle ForeColor="White" />
<RowStyle CssClass="gridview-row" />
<AlternatingRowStyle BackColor="#fffbfd" />
<Columns>
<asp:TemplateField HeaderText="">
<HeaderTemplate>
<table width="100%">
<tr style="background-color: #244e7e">
<td style="width: 100%; background-color: #244e7e; font-size: 13px; font-weight: bold;
color: white; padding-left: 3px" colspan="2" align="left">
College Rank in
<asp:Label ID="lblYear" runat="server" Text="2009" ForeColor="white" Font-Size="13px"
Font-Bold="true"></asp:Label>
</td>
</tr>
<tr>
<td style="width: auto; color: #244e7e; text-align: left;" class="grid_HeaderRank">
Source
</td>
<td style="width: auto; color: #244e7e; text-align: right;" class="grid_HeaderRank">
Rank
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table width="100%">
<tr>
<td style="width: auto;" align="left" class="text12_d">
<asp:Label ID="lblSource" runat="server" Text='<%#Eval("SourceName")%>'></asp:Label>
</td>
<td style="width: auto; text-align: right; padding-right: 16px" class="text12_d">
<asp:Label ID="lblRank" runat="server" Text='<%#Eval("OverallRank")%>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</span><span style="float: right; padding-right: 0px; width: 50%">
<asp:LinkButton ID="lnkCollegeRank" CommandName="ViewMore" CausesValidation="false"
runat="server" CssClass="ReadMore">View More...</asp:LinkButton>
</span>
</asp:Panel>
</fieldset>
<br />
</asp:Panel>
<fieldset>
<legend class="Legend_Header"><strong>Infrastructure</strong></legend>
<br />
<asp:GridView ID="grdHostelInformation" runat="server" AutoGenerateColumns="false"
CssClass="text12_d" Width="100%">
<HeaderStyle BackColor="#244e7e" ForeColor="#f7f7f7" />
<RowStyle CssClass="gridview-row" />
<Columns>
<asp:TemplateField HeaderText="Hostel">
<ItemStyle Width="10%" />
<HeaderStyle CssClass="grdsize" />
<ItemTemplate>
<a href="#" target="_blank" class="text12_d">
<%#Eval("CollegeHostelInfo")%>
</a>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Location">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<%#Eval("HostelLocation")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Internet">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<%#Eval("HostelInteranet")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Laundry">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<%#Eval("HostelLaundry")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Power Backup">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<%#Eval("HostelElectricityBackup")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="AC">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<%#Eval("HostelAC")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Charges">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<%#Eval("HostelCharges")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Occupancy">
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<%#Eval("HostelOccupacy")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</fieldset>
<br />
<fieldset>
<legend class="Legend_Header"><strong>Contact Details</strong></legend>
<ul style="vertical-align:top; background-color:#f4faff;">
<li class="textLiExam">
<strong style="font-weight:bold; font-size:14px; color:Black;">Address :</strong>
<%# Eval("CollegeStreet")%>
<%# Eval("CollegeDistrict")%>
<%# Eval("StateName")%>
<%# Eval("CollegePinCode")%>
</li>
<li class="textLiExam">
<strong style="font-weight:bold; font-size:14px; color:Black;">Email Id : </strong>
<%# Eval("CollegePersonEmail")%>
</li>
<li class="textLiExam">
<strong style="font-weight:bold; font-size:14px; color:Black;">Website : </strong>
<a href='<%# String.Format("{0}{1}","http://" , Eval("CollegeWebsite")) %>'
target="_blank" class="textLiExam">
<%# Eval("CollegeWebsite")%>
</a>
</li>
<li class="textLiExam">
<strong style="font-weight:bold; font-size:14px; color:Black;">Phone : </strong>
<%# Eval("CollegePhone1")%>
,
<%# Eval("CollegePhone2")%>
</li>
<li class="textLiExam">
<strong style="font-weight:bold; font-size:14px; color:Black;">Fax : </strong>
<%# Eval("CollegeFax")%>
</li>
</ul>
</fieldset>
</ItemTemplate>
</asp:DataList>
此处代码如何在数据列表中扣除网格视图
protected void dl_College_ItemDataBound(object sender, DataListItemEventArgs e)
{
GridView grdCollegeRank = (GridView)e.Item.FindControl("grdCollegeRank");
GridView grdCollegeRank1 = (GridView)e.Item.FindControl("grdCollegeRank1");
GridView grdCollegeRank2 = (GridView)e.Item.FindControl("grdCollegeRank2");
Panel pnlRank = (Panel)e.Item.FindControl("pnlCollegeRank");
string sqlquery1 = "select top 1 * from dbo.CollegeCourseStream,dbo.University where dbo.CollegeCourseStream.UniversityId = dbo.University.UniversityId and CollegeCourseStream.collegeId='" + Request.QueryString["Collegeid"] + "'";
DataTable dt_Vendor1 = lk.dt_Select(sqlquery1);
if (dt_Vendor1.Rows.Count > 0)
{
lblAffiliation.Text = dt_Vendor1.Rows[0]["UniversityName"].ToString();
}
DataSet sdr = new DataSet();
sdr = ObjClsCollege.GetCollegeRank(Convert.ToInt32(Request.QueryString["CollegeId"]));
grdRank = sdr.Tables[0].Rows.Count;
if (sdr.Tables[0].Rows.Count > 0)
{
grdCollegeRank.DataSource = sdr.Tables[0];
grdCollegeRank.DataBind();
}
else
{
grdCollegeRank.Visible = false;
}
string sqlquery2 = "select * from dbo.tblRankSource,dbo.tblRank where dbo.tblRank.SourceId=dbo.tblRankSource.SourceId and dbo.tblRank.CollegeId='" + Convert.ToInt32(Request.QueryString["Collegeid"].ToString()) + "' and tblRank.Year='"+ 2010 +"' order by Year DESC";
DataSet sdr2 = lk.selectDate_Source(sqlquery2);
grdRank1 = sdr2.Tables[0].Rows.Count;
if (sdr2.Tables[0].Rows.Count > 0)
{
grdCollegeRank1.DataSource = sdr2.Tables[0];
grdCollegeRank1.DataBind();
}
else
{
grdCollegeRank1.Visible = false;
}
string sqlquery3 = "select * from dbo.tblRankSource,dbo.tblRank where dbo.tblRank.SourceId=dbo.tblRankSource.SourceId and dbo.tblRank.CollegeId='" + Convert.ToInt32(Request.QueryString["Collegeid"].ToString()) + "'and tblRank.Year='" + 2009 + "' order by Year DESC";
DataSet sdr3 = lk.selectDate_Source(sqlquery3);
grdRank2 = sdr3.Tables[0].Rows.Count;
if (sdr3.Tables[0].Rows.Count > 0)
{
grdCollegeRank2.DataSource = sdr3.Tables[0];
grdCollegeRank2.DataBind();
}
else
{
grdCollegeRank2.Visible = false;
}
if (Request.QueryString["CollegeId"] != null)
{
GridView currChk = (GridView)e.Item.FindControl("grdCorse");
ObjClsCollege = new ClsCollege();
DS = new DataSet();
ImageMap CollegeImage = (ImageMap)e.Item.FindControl("CollegeImage");
string sqlquery = "Select * from College,State,Course where College.stateid=State.stateid and College.CourseId=Course.CourseId and College.CollegeId='" + Request.QueryString["Collegeid"] + "'";
DataTable dt_Vendor = lk.dt_Select(sqlquery);
if (dt_Vendor.Rows.Count > 0)
{
CollegeImage.ImageUrl = "College Image\\" + dt_Vendor.Rows[0]["CollegeImage"].ToString();
//CollegeImage.ImageUrl = dt_Vendor.Rows[0]["CollegeImage"].ToString();
}
DS = ObjClsCollege.GetTheCollegeCorse(Convert.ToInt32(Request.QueryString["CollegeId"]));
if (DS.Tables[0].Rows.Count > 0)
{
currChk.DataSource = DS.Tables[0];
currChk.DataBind();
}
foreach (GridViewRow Row in currChk.Rows)
{
Label lblStreamFee = ((Label)Row.FindControl("lblStreamFee"));
Image imgLock = ((Image)Row.FindControl("imgLock"));
lblStreamFee.Visible = true;
imgLock.Visible = false;
}
}
}
else
{
}
这样你就可以在datalist中找到gridview
答案 1 :(得分:0)
我使用Colorbox插件做了类似的事情。
如果您知道链接将导致可以在加载时在页面中预编译的网格,则此方法有效。
如果允许弹出窗口显示网格,则可以选择此选项。
a)在页面上有一个占位符,用于存储生成的html代码 您需要为每个链接添加唯一标识符。
b)从代码背后,我正在构建网格。
- 剪断 -
Dim mystat As New TableCell With {.Text = "<a href='#' class='" & texttoappear & h & i & j & "'>" & mycount & "</a>", .HorizontalAlign = HorizontalAlign.Center}
myrow.Cells.Add(mystat)
prepareminidataset(myoraclefilter.ToString, (texttoappear & h & i & j).ToString)
--- snip--
锚点指向同一页面,更重要的是我正在构建的类,因为这是colorbox插件用来查找需要显示的网格的类。
Prepareminidataset是一个函数,我从数据库后端检索细节(你可能不需要这个)。独特的组合 texttoappear&amp; h&amp;我和我j 成为我的函数中稍后使用的“引用”字符串。 (h,i&amp; j是我在网格中的位置,因此每个字段都是唯一的)
c)I)然后我构建数据网格以通过函数显示,使用数据库中提取的数据作为数据集ds
Private Sub prepareminigrid(ByVal reference As String, ByRef myds As DataSet)
Dim Itemheader As Control = LoadControl("warrantydetailgrid.ascx")
Dim thegrid As GridView = CType(Itemheader.FindControl("mygrid"), GridView)
thegrid.DataSource = myds
thegrid.DataBind()
myhiddenpopups.Controls.Add(New LiteralControl("<div id='" & reference & "' style='padding:10px; background:#fff;'> "))
myhiddenpopups.Controls.Add(Itemheader)
myhiddenpopups.Controls.Add(New LiteralControl("</div>"))
If Not strScript.ToString.Contains("$('." & reference & "').colorbox({width:'50%', inline:true, href:'#" & reference & "'});") Then
strScript.AppendLine("$('." & reference & "').colorbox({width:'50%', inline:true, href:'#" & reference & "'});")
End If
End Sub
II) myhiddenpopups 是我在aspx页面上的占位符,我在其中添加了html代码(因此当我按下锚点时,colorbox可以检索它
III)最后,strscript是一个startupscript,它将添加不同的colorbox函数及其唯一标记(= reference)到启动javascript。
那么它看起来像什么?
这是带锚标记的构建网格
这是用户点击链接时显示的网格
,您需要占位符,哪些数据不会显示
编译页面的结果,当'prepareminigrid'针对它需要创建的每个锚点运行时;
你可以看到每个锚点的唯一DIV id(这是colorbox函数在inlin html代码中寻找的)和下面的表格
缺点是您的预加载数据需要相对较小。如果你有一个包含数百行的表格,你页面的加载时间会增加,并且最终用户会得到一个“脚本需要很长时间才能完成”的警告信息。
希望有所帮助
ķ