R
Robert Fernandez
I've got a gridview with BoundFields and TemplateFields and a
linkbutton with a CommandName="Select". When I click on this
linkbutton the TemplateField objects disappear on postback but the
BoundFields still have their data. Also the SelectedIndexChanged
event is never hit. Why is this happening?
-----------------------------------
<asp:GridView ID="gvSearchResults" runat="server"
AutoGenerateColumns="false" AutoGenerateSelectButton="false"
GridLines="none" DataKeyNames="entity_uid" SelectedIndex="0"
OnRowDataBound="gvSearchResults_OnRowDataBound"
OnSelectedIndexChanged="gvSearchResults_SelectedIndexChanged" Font-
Size="x-Small" CellSpacing="1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lbDetail" runat="server"
CommandName="Select" Text="View Detail" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblRecordInfo" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="imgPhoto" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField ReadOnly="true" HeaderText="FName"
DataField="FName" HeaderStyle-Font-Bold="true" />
<asp:BoundField ReadOnly="true" HeaderText="LName"
DataField="LName" HeaderStyle-Font-Bold="true" />
<asp:BoundField ReadOnly="true" HeaderText="GradYear"
DataField="GradYearDegree" HeaderStyle-Font-Bold="true" />
<asp:BoundField ReadOnly="true" HeaderText=" Cohort "
DataField="cohort" HeaderStyle-Font-Bold="true" />
<asp:BoundField ReadOnly="true" HeaderText="DegreePrgoram"
DataField="DegreeProgram" HeaderStyle-Font-Bold="true" />
<asp:TemplateField HeaderText="PrefEmail" HeaderStyle-Font-
Bold="true">
<ItemTemplate>
<asp:HyperLink ID="hplPrefEmail" runat="server"
ForeColor="darkBlue" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<AlternatingRowStyle BackColor="white" />
<RowStyle BackColor="beige" />
</asp:GridView>
----------------------------------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet dsSearchResults =
SQLRoutines.SearchRecords(P);
Trace.Write("Count:",
dsSearchResults.Tables[0].Rows.Count.ToString());
gvSearchResults.DataSource = dsSearchResults;
gvSearchResults.DataBind();
}
}
protected void gvSearchResults_SelectedIndexChanged(object sender,
EventArgs e)
{
SelectedUID = (string)gvSearchResults.SelectedValue;
Trace.Write("SelectedIndexChanged", SelectedUID);
Server.Transfer("SearchResultsBio.asp", true);
}
Thanks,
Robert
linkbutton with a CommandName="Select". When I click on this
linkbutton the TemplateField objects disappear on postback but the
BoundFields still have their data. Also the SelectedIndexChanged
event is never hit. Why is this happening?
-----------------------------------
<asp:GridView ID="gvSearchResults" runat="server"
AutoGenerateColumns="false" AutoGenerateSelectButton="false"
GridLines="none" DataKeyNames="entity_uid" SelectedIndex="0"
OnRowDataBound="gvSearchResults_OnRowDataBound"
OnSelectedIndexChanged="gvSearchResults_SelectedIndexChanged" Font-
Size="x-Small" CellSpacing="1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lbDetail" runat="server"
CommandName="Select" Text="View Detail" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblRecordInfo" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="imgPhoto" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField ReadOnly="true" HeaderText="FName"
DataField="FName" HeaderStyle-Font-Bold="true" />
<asp:BoundField ReadOnly="true" HeaderText="LName"
DataField="LName" HeaderStyle-Font-Bold="true" />
<asp:BoundField ReadOnly="true" HeaderText="GradYear"
DataField="GradYearDegree" HeaderStyle-Font-Bold="true" />
<asp:BoundField ReadOnly="true" HeaderText=" Cohort "
DataField="cohort" HeaderStyle-Font-Bold="true" />
<asp:BoundField ReadOnly="true" HeaderText="DegreePrgoram"
DataField="DegreeProgram" HeaderStyle-Font-Bold="true" />
<asp:TemplateField HeaderText="PrefEmail" HeaderStyle-Font-
Bold="true">
<ItemTemplate>
<asp:HyperLink ID="hplPrefEmail" runat="server"
ForeColor="darkBlue" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<AlternatingRowStyle BackColor="white" />
<RowStyle BackColor="beige" />
</asp:GridView>
----------------------------------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet dsSearchResults =
SQLRoutines.SearchRecords(P);
Trace.Write("Count:",
dsSearchResults.Tables[0].Rows.Count.ToString());
gvSearchResults.DataSource = dsSearchResults;
gvSearchResults.DataBind();
}
}
protected void gvSearchResults_SelectedIndexChanged(object sender,
EventArgs e)
{
SelectedUID = (string)gvSearchResults.SelectedValue;
Trace.Write("SelectedIndexChanged", SelectedUID);
Server.Transfer("SearchResultsBio.asp", true);
}
Thanks,
Robert