SP Gridview link button column not working
Posted
by Dilse Naaz
on Stack Overflow
See other posts from Stack Overflow
or by Dilse Naaz
Published on 2010-05-17T06:23:02Z
Indexed on
2010/05/17
6:30 UTC
Read the original article
Hit count: 497
Hi
I have one sharepoint custom page application which is rendering from a user control. In the user control page, i had used SPGridview for displaying data. My first column is Title Column (link button column), when the user click on the link, then one popup window will open with corresponding data. But the problem is the link button is not working properly. But this application is working as fine in asp.net application.
My code is shown below..
<asp:UpdatePanel runat="server" ID="UpdatePanel2">
<ContentTemplate>
<SharePoint:SPGridView ID="dgApplicationBox" CellPadding="0" Height="100%" runat="server"
ForeColor="Black" Font-Size="10px" Font-Names="Verdana" AutoGenerateColumns="False"
AllowPaging="True" Width="100%" BorderStyle="None" BorderWidth="0px" PageSize="10"
BorderColor="White" BackColor="White" OnRowDataBound="dgApplicationBox_RowDataBound"
DataKeyNames="ApplicationID" OnSelectedIndexChanged="dgApplicationBox_SelectedIndexChanged"
OnPageIndexChanging="dgApplicationBox_PageIndexChanging" CssClass="ms-listviewtable"
AlternatingRowStyle-CssClass="ms-alternating">
<SelectedRowStyle Font-Bold="True" ForeColor="Black" BackColor="#CE5D5A"></SelectedRowStyle>
<EditRowStyle Font-Size="10px" Font-Names="Verdana,Arial,Helvetica,sans-serif"></EditRowStyle>
<HeaderStyle Font-Size="11px" Height="20px" Font-Bold="True" ForeColor="Black" BackColor="#E7E8EC">
</HeaderStyle>
<PagerStyle HorizontalAlign="Center" ForeColor="#414E61" Font-Size="5px" Font-Names="arial"
Height="10px" BackColor="#EBF3FF"></PagerStyle>
<RowStyle />
<Columns>
<asp:TemplateField HeaderText="Title" HeaderStyle-CssClass="ms-vb">
<ItemTemplate>
<asp:LinkButton ID="lbtnSubject"
Text='<%# Bind("UDF5") %>' runat="server" OnClick="lbtnSubject_Click"></asp:LinkButton>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" CssClass="ms-vh2" Font-Bold="true" />
<ItemStyle HorizontalAlign="Left" CssClass="ms-vb2" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Request No.">
<ItemTemplate>
<asp:Label ID="lblReqNo" Text='<%# Bind("UDF1") %>' runat="server" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" CssClass="ms-vh2" Font-Bold="true" />
<ItemStyle HorizontalAlign="Left" CssClass="ms-vb2" />
</asp:TemplateField>
<asp:BoundField DataField="CreatedOn" HeaderText="Created On" DataFormatString="{0:MM/dd/yyyy}"
HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<HeaderStyle CssClass="ms-vh2" Font-Bold="true"></HeaderStyle>
<ItemStyle CssClass="ms-vb2"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="Name" HeaderText="Form Type" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left">
<HeaderStyle CssClass="ms-vh2" Font-Bold="true"></HeaderStyle>
<ItemStyle CssClass="ms-vb2"></ItemStyle>
</asp:BoundField>
<asp:TemplateField HeaderText="History">
<HeaderStyle CssClass="ms-vh2" Font-Bold="true"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="21px" CssClass="ms-vb2">
</ItemStyle>
<ItemTemplate>
<asp:LinkButton ID="lbtnView" runat="server" OnClick="lbtnView_Click" >View</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Application Id" Visible="False">
<ItemTemplate>
<asp:Label ID="lblApplicationId" runat="server" Text='<%# Bind("ApplicationId") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" CssClass="ms-vh2" Font-Bold="true" />
<ItemStyle HorizontalAlign="Left" CssClass="ms-vb2" />
</asp:TemplateField>
</Columns>
</SharePoint:SPGridView>
</ContentTemplate>
</asp:UpdatePanel>
when the user click on the link button, this code will works..
try
{
clearSession();
Session["DigitalSignature"] = null;
Button btnDetails = sender as Button;
DataTable dt = (DataTable)dgApplicationBox.DataSource;
GridViewRow gvRow = (GridViewRow)(sender as LinkButton).Parent.Parent;
Session["AppId"] = ((Label)gvRow.FindControl("lblApplicationId")).Text;
string subject = ((LinkButton)gvRow.FindControl("lbtnSubject")).Text;
WFInfo objWFInfo = new WFInfo();
objWFInfo.InitWorkflowProperty(Convert.ToInt32(Session["AppId"].ToString()), Session["CurrentUser"].ToString());
Session["FormId"] = objWFInfo.FormID.ToString();
string strFilname = objWFInfo.GetFormName(objWFInfo.ApplicationCategoryID.ToString());
string WindowName = strFilname;
strFilname += ".aspx";
Session["CategoryId"] = objWFInfo.ApplicationCategoryID.ToString();
//pnlSubmitModal_ModalPopupExtender.Show();
ScriptManager.RegisterStartupScript(this, this.GetType(), "starScript", "popUpWindow('" + strFilname + "?tittle=" + subject + "', 800, 690,'" + WindowName + "');", true);
this.Controls.Add(new LiteralControl("<script>alert('hi');</script>"));
if (Session["CurrentUser"] != null)
{
ApplicationForm objApplication = new ApplicationForm();
objApplication.markRead(Convert.ToInt32(Session["AppId"].ToString()), Session["CurrentUser"].ToString());
}
bindFolderData();
}
If i click on the link button, there will be only post back occuring. but not the popup window open.. Please help me for resolving this problem. thanks in advance..
© Stack Overflow or respective owner