Как добавить динамический gridview в ASP.NET с#?
Привет,
У меня есть мастер-вид сетки в этих двух кнопках связи. Если я нажму на Linkbutton1, он должен отобразить данные в другом gridview.Если я нажму на linkbutton2, то в нем должны отобразиться данные другого gridview. Это так же, как 2 childgirlview для одного master gridview.Может ли кто-нибудь помочь мне, как это сделать с помощью примера кодирования?
Заранее спасибо!!!
Что я уже пробовал:
Моя Страница Здесь:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="LoanAccountDetails.aspx.cs" Inherits="LoanAccountDetails" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Banksoft Internet Banking</title> <link href="Css/Banksoftstyles.css" rel="stylesheet" type="text/css" /> <script src="js/BanksoftScript.js" type="text/javascript"></script> <link href="Css/style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function preventBack() { window.history.forward(); } setTimeout("preventBack()", 0); window.onunload = function() { null }; </script> <%--Added by shruthi N--%> <script type="text/javascript"> function showNestedGridView(obj) { var NestedGridView = document.getElementById(obj); var imageID = document.getElementById('image' + obj); if (NestedGridView.style.display == "none") { NestedGridView.style.display = "inline"; // imageID.src = "img/minus.png"; } else { NestedGridView.style.display = "none"; //imageID.src = "img/plus.png"; } } </script> <%--Added by janardhan, the following functions disable the View Source and Ctrl+U--%> <script type="text/javascript" language="javascript"> $(function() { $(this).bind("contextmenu", function(e) { e.preventDefault(); }); }); </script> <script type="text/javascript" language="javascript"> document.onkeydown = function(e) { if (e.ctrlKey && (e.keyCode === 85)) { return false; } }; </script> <%-- <script type="text/javascript" language="javascript"> function fnDispJointAcntDets() { var settings = 'width=640,height=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=No,resizable=No,top=100%,left=350%,position: fixed'; url = 'Help/JointAcntDetails.aspx'; popup = window.open(url, '', settings, target = '_blank'); popup.focus(); } function fnDispSuretyDets() { var settings = 'width=640,height=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=No,top=100%,left=350%,position: fixed'; url = 'Help/SuretyorGuarantor.aspx'; popup = window.open(url, '', settings, target = '_blank'); popup.focus(); } </script> --%> </head> <body style="overflow-x:hidden;overflow-y:hidden;"> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <%--<div>--%> <div class="main"> <%--<div class="box">--%> <h5> LOAN ACCOUNT DETAILS</h5> <center> <br /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="AccountNumber" OnRowCommand="GridView1_RowCommand" onselectedindexchanged="GridView1_SelectedIndexChanged" onrowdatabound="GridView1_RowDataBound"> <Columns> <asp:TemplateField HeaderText="ACCOUNT NUMBER"> <ItemTemplate> <asp:LinkButton Style="text-decoration: underline;" ID="Linkbtnacno" runat="server" EnableTheming="True" Text='<%# Eval("AccountNumber") %>' CommandName="SelectAcNo"></asp:LinkButton> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="SCHEME NAME"> <ItemTemplate> <asp:Label ID="lblSchemeName" Style="text-align: justify;" runat="server" Text='<%# Eval("SchemeName") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="DATE OF ACCOUNT OPEN"> <ItemTemplate> <asp:Label ID="lblAcntOpen" Style="text-align: justify;" runat="server" Text='<%# Eval("DateOfActOpening") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="ACCOUNT TYPE"> <ItemTemplate> <asp:Label ID="lblAcntType" Style="text-align: justify;" runat="server" Text='<%# Eval("AccountType") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="JOINT HOLDER"> <ItemTemplate> <%--<asp:LinkButton ID="lbtnJointAcntDetsc" runat="server" Style="display: block; text-align: center; text-decoration: underline" EnableTheming="True" CommandName="CmdJointAcntDets">Click here</asp:LinkButton>--%> <%-- <a href="javascript:showNestedGridView('accountNumber-<%# Eval("AccountNumber") %>');"> <img id="imageaccountNumber-<%# Eval("AccountNumber") %>" text="ClickHere" alt="ClickHere" border="0"/>--%> <asp:LinkButton ID="lbtnJointAcntDetsc" runat="server" Style="display: block; text-align: center; text-decoration: underline" EnableTheming="True" CommandName="CmdJointAcntDets">Click here</asp:LinkButton> <%--<asp:Label ID="lblJntHolder" Style="text-align: left;" runat="server" Text='<%# Eval("JointHolderName") %>'></asp:Label>--%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="SURETY DETAILS"> <ItemTemplate> <asp:LinkButton ID="lbtnNomineeDets" runat="server" Style="display: block; text-align: center; text-decoration: underline" EnableTheming="True" CommandName="CmdSuretyDets">Click here</asp:LinkButton> <%--<asp:Label ID="lblNomDetails" Style="text-align: left;" runat="server" Text='<%# Eval("NomineeDetails") %>'></asp:Label>--%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="DATE OF EXPAIRY"> <ItemTemplate> <asp:Label ID="lblDtofMaturity" Style="text-align: left;" runat="server" Text='<%# Eval("ExpairyDate") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="ROI"> <ItemTemplate> <asp:Label ID="lblROI" Style="text-align: center;" runat="server" Text='<%# Eval("RateOfInterest") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Sanctioned Amount"> <ItemTemplate> <asp:Label ID="lblDepAmount" Style="text-align: left;" runat="server" Text='<%# Eval("SanctionAmount") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Closing Balance"> <ItemTemplate> <asp:LinkButton ID="lbtnforBlnc" runat="server" Style="display: block; text-align: right;padding:0px;width:80px; text-decoration: underline" EnableTheming="True" CommandName="ClickforBlnc">Click Here for balance</asp:LinkButton> <asp:LinkButton ID="lbtnClosing" runat="server" Style="display: block; text-align: right; text-decoration: underline" EnableTheming="True" Text='<%# Eval("ClosingBalance") %>' CommandName="SelectClosingBal" Visible="false"></asp:LinkButton> </ItemTemplate> </asp:TemplateField> <%--<asp:TemplateField HeaderText="CLOSING BALANCE"> <ItemTemplate> <asp:LinkButton ID="lbtnforBlnc" runat="server" Style="display: block; text-align: right; text-decoration: underline" EnableTheming="True" CommandName="ClickforBlnc">Click Here for balance</asp:LinkButton> <asp:LinkButton ID="lbtnClosing" runat="server" Style="display: block; text-align: right; text-decoration: underline" EnableTheming="True" Text='<%# Eval("ClosingBalance") %>' CommandName="SelectClosingBal" Visible="false"></asp:LinkButton> </ItemTemplate> </asp:TemplateField>--%> <asp:TemplateField> <ItemTemplate> <tr> <td colspan="100%"> <%--<div id='<%# Eval("AccountNumber")%>' style="display:none">--%> <div id="accountNumber-<%# Eval("AccountNumber") %>" style="display:none;position:relative;left:25px;" > <%--<div ID="NestedDiv" runat="server">--%> <%--<asp:TemplateField HeaderText="CLOSING BALANCE"> <ItemTemplate> <asp:LinkButton ID="lbtnforBlnc" runat="server" Style="display: block; text-align: right; text-decoration: underline" EnableTheming="True" CommandName="ClickforBlnc">Click Here for balance</asp:LinkButton> <asp:LinkButton ID="lbtnClosing" runat="server" Style="display: block; text-align: right; text-decoration: underline" EnableTheming="True" Text='<%# Eval("ClosingBalance") %>' CommandName="SelectClosingBal" Visible="false"></asp:LinkButton> </ItemTemplate> </asp:TemplateField>--%> <asp:GridView ID="GridView2" runat="server" DataKeyNames="JointCustCode" AutoGenerateColumns="False" Width="80%" style="overflow-y:none;" onselectedindexchanged="GridView1_SelectedIndexChanged"> <Columns> <asp:TemplateField HeaderText="Joint Customer Code"> <ItemTemplate> <asp:Label ID="lblAcntOpen" Style="text-align: justify;" runat="server" Text='<%# Eval("JointCustCode") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Desgnation Of Joint Operator"> <ItemTemplate> <asp:Label ID="lblAcntType" Style="text-align: justify;" runat="server" Text='<%# Eval("DesgnOfJointOper") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Relation With Account Holder"> <ItemTemplate> <asp:Label ID="lblDtofMaturity" Style="text-align: left;" runat="server" Text='<%# Eval("RelationWithAccHold") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </td> </tr> <tr> <td colspan="100%"> <%--<div id='<%# Eval("AccountNumber")%>' style="display:none">--%> <div id="accountNumber1" style="display:none;position:relative;left:25px;" > <asp:GridView ID="GridView3" runat="server" DataKeyNames="SurityCustCode" AutoGenerateColumns="False" Width="80%"> <Columns> <asp:TemplateField HeaderText="Surety Customer Code"> <ItemTemplate> <asp:Label ID="lblAcntOpen" Style="text-align: justify;" runat="server" Text='<%# Eval("SurityCustCode") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Surety Guarantor"> <ItemTemplate> <asp:Label ID="lblAcntType" Style="text-align: justify;" runat="server" Text='<%# Eval("SurityGuarantor") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Description"> <ItemTemplate> <asp:Label ID="lblDtofMaturity" Style="text-align: left;" runat="server" Text='<%# Eval("Description") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </td> </tr> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <br /> <asp:LinkButton ID="lnkNoAcntstoDisp" runat="server" Style="color: Red;font-size:large;font-family:Times New Roman" Text="Sorry, You have no Loan Accounts"></asp:LinkButton> </center> <%--</div>--%> <div> <center> <asp:Label ID="lblerrormsg" Style="color: Red" runat="server"></asp:Label> <input id="hdnAcntNo" type="hidden" runat="server" /> </center> </div> </div> <%--</div>--%> </ContentTemplate> </asp:UpdatePanel> </form> </body> </html>
Мой код позади asp.net c.s здесь:
общественный разделяемого класса LoanAccountDetails : система.Веб.Пользовательского интерфейса.Страницы
{
Bclass objb = null;
private ArrayList ArrayParamList = null;
охраняемых недействительными в(объект отправителя, EventArgs в электронной)
{
если (!это.IsPostBack)
{
пробовать
{
//Добавил janardhan, чтобы ограничить пользователя, чтобы скопировать и вставить URL-адрес в адресной строке
строка strPreviousPage = "";
если (запрос.UrlReferrer != null)
{
strPreviousPage = запрос.UrlReferrer.Сегменты[Запрос.UrlReferrer.Сегменты.Длина - 1];
}
если (strPreviousPage == "")
{
Ответ.Перенаправление("~/ErrorPages/RestrictURLAccess.aspx");
}
//Заканчивается здесь janardhan
если (!строка.IsNullOrEmpty(SessionHandler.ConnString))
{
//DataTable dt = новый DataTable();
//ДТ = SessionHandler.dsCustomerDetails.Таблицы[0].Clone(); /*метод Clone копирует схему таблицы*/
//оператор foreach (datarow объект дополнительные возможности в SessionHandler.dsCustomerDetails.Таблицы[0].Строки)
//{
// if (Convert.ToString(drw["Categorycode"]) == "LON")
// {
// ДТ.Метод importrow(дополнительные);
// }
//}
//Управления gridview1.Источник данных = ДТ;
//Управления gridview1.Привязку();
////SetPageDesign();
строка AcNo = SessionHandler.RegAccountNumber;
DataSet ds = новый набор данных();
objb = новый Bclass();
ArrayParamList = новый ArrayList();
ArrayParamList.Добавить(AcNo.Отделка());
ArrayParamList.Add("GetCustLoanAcntDetails");
ds = objb.GetAccountInformation(ArrayParamList);
if (ds != null && ds.Таблицы.Граф > 0 & & amp; ds.Таблицы[0].Строки.Count > 0)
{
Управления gridview1.Источник данных = ДС.Таблицы[0];
Управления gridview1.Привязку();
Управления gridview1.Видимое = истинное;
lnkNoAcntstoDisp.Видна = ложь;
}
еще
{
Управления gridview1.Видна = ложь;
lnkNoAcntstoDisp.Видимое = истинное;
}
}
}
поймать (исключение бывший)
{
lblerrormsg.Текст = ex.сообщение;
lblerrormsg.Цвет Текста = Цвет.Красный;
}
}
}
охраняемых недействительными SetPageDesign()
{
/*Цвет фона CssStyle из CodeBehind*/
/*Шаг 1: Установите ID и runat="Server" в тег body, чтобы на него можно было ссылаться с кодом, стоящим за ним
Шаг 2: Далее, чтобы добавить свойство CSS к этому тегу body на codebehind, например*/
если (SessionHandler.BankCode."Равно" ("BNK00062")) /*BNK00062-Таква кредитный кооператив ООО*/
{
}
еще если (SessionHandler.BankCode."Равно" ("BNK00015")) /*BNK00015-Манви Паттана СБ банка ни*/
{
/*MPSS*/
}
еще если (SessionHandler.BankCode."Равно" ("BNK00019")) /*BNK00019-Шри-VASAVAMBA кооперативный банк ООО*/
{
/*SVCBHNP*/
}
еще если (SessionHandler.BankCode.Equals("BNK00009")) /*BNK00009-бухгалтер генералы офисные служащие Кооперативный банк Лимитед*/
{
/*AGS*/
}
еще если (SessionHandler.BankCode."Равно" ("BNK00045")) /*BNK00045-резервный банк сотрудники кооперативный банк ЛТД.*/
{
//мое тело.Атрибуты.CssStyle.Add("фон", "линейный градиент(красный, желтый);");
/*ОБЭ*/
}
еще если (SessionHandler.BankCode."Равно" ("BNK00022")) /*BNK00022-Шри Shivayogi Murughendra Свами городской кооперативный банк Лтд.*/
{
/*среда SSMS*/
}
еще если (SessionHandler.BankCode.Equals("BNK00041")) /*BNK00041-гуру рагхавендра*/
{
}
еще
{
// pagebody.Атрибуты.CssStyle.Add("background", "linear-gradient(#00339a, серый);");
}
}
охраняемых недействительными GridView1_RowCommand(объект отправителя, GridViewCommandEventArgs е)
{
пробовать
{
GridViewRow gvr = (GridViewRow) (((LinkButton)e.CommandSource).NamingContainer);
int rowIndex = gvr.Параметр rowindex;
LinkButton HyperAcNo = (LinkButton)GridView1.Rows[rowIndex].Ячейки[0].FindControl("Linkbtnacno");
Кэш["tmpAcntNum"] = HyperAcNo.Text.Trim();
if (e.CommandName == "SelectAcNo")
{
Ответ.Перенаправление("AccountInformation.aspx", true);
}
остальное, если (электронная.Имя_команды == "SelectClosingBal")
{
Ответ.Redirect("ClosingBalance.aspx", true);
}
остальное, если (электронная.Имя_команды == "ClickforBlnc") /*опция, чтобы показать конечное сальдо на кнопке из Linkbutton*/
{
GridViewRow row = (GridViewRow) (((LinkButton)e.CommandSource).NamingContainer);
int rIndex = строка.Параметр rowindex;
GridView1.Rows[rIndex].Ячейки[GridView1.Rows[rIndex].Ячейки.Count - 1].FindControl("lbtnforBlnc").Видна = ложь;
GridView1.Rows[rIndex].Ячейки[GridView1.Rows[rIndex].Ячейки.Count - 1].FindControl("lbtnClosing").Видимое = истинное;
}
остальное, если (электронная.Имя_команды == "CmdJointAcntDets")
{
//Элемента управления scriptmanager.RegisterStartupScript(UpdatePanel1, typeof(Page), "OnClientClicking", "fnDispJointAcntDets(" + hdnAcntNo.Value + ");", true);
Элемента управления scriptmanager.RegisterStartupScript(UpdatePanel1, typeof(Page), "OnClientClicking", "fnDispJointAcntDets();", true);
}
else if (e.CommandName == "CmdSuretyDets")
{
//Элемента управления scriptmanager.RegisterStartupScript(UpdatePanel1, typeof(Page), "OnClientClicking", "fnDispSuretyDets(" + hdnAcntNo.Value + ");", true);
Элемента управления scriptmanager.RegisterStartupScript(UpdatePanel1, typeof(Page), "OnClientClicking", "fnDispSuretyDets();", true);
}
}
поймать (исключение бывший)
{
lblerrormsg.Текст = ex.сообщение;
lblerrormsg.Цвет Текста = Цвет.Красный;
}
}
охраняемых недействительными GridView1_SelectedIndexChanged(объект отправителя, EventArgs в электронной)
{
}
защищенный void GridView1_RowDataBound(отправитель объекта, GridViewRowEventArgs e)
{
//BtnAlert изображение = (изображение)по электронной.Подряд.FindControl("lnkDisplayPopUp_Click");
если (электронная.Подряд.RowType == DataControlRowType.Строкаданных)
{
//string ass = e.Row.Cells[4].Текст;
//StatusCell tablecell в = е.Подряд.Клеток[4];
//if (statusCell.Текст == "")
//{
// //if (e.Row.Cells[4].Text.Contains(""))
//{
//LinkButton lb = e.Row.FindControl("Linkbtnacno") как LinkButton;
//Элемента управления scriptmanager.GetCurrent(это).RegisterPostBackControl(lb);
//строки tmpAcntNum = gridview1, на.DataKeys[электронный.Подряд.Параметр rowindex].Значение.Метод toString();
//GridView gv2 = e.Row.FindControl("GridView2") как GridView;
строки tmpAcntNum = gridview1, на.DataKeys[электронный.Подряд.Параметр rowindex].Значение.Метод toString();
пробовать
{
#регион прокомментировал
если (!строка.IsNullOrEmpty(Конвертировать.Метод toString("tmpAcntNum")))
{
GridView gv2 = (GridView)e.Row.FindControl("GridView2");
DataSet ds = новый набор данных();
objb = новый Bclass();
ArrayList ArrayParamList = новый ArrayList();
ArrayParamList.Add(tmpAcntNum.Отделка());
ArrayParamList.Add("GetCustJointAcntDetails");
ds = objb.GetAccountInformation(ArrayParamList);
if (ds != null && ds.Таблицы.Граф > 0 & & amp; ds.Таблицы[0].Строки.Count > 0)
{
в ГВ2.Источник данных = ДС.Таблицы[0];
в ГВ2.Привязку();
}
еще
{
в ГВ2.Видимое = истинное;
}
}
#endregion
}
поймать (исключение бывший)
{
lblerrormsg.Текст = ex.сообщение;
lblerrormsg.Цвет Текста = Цвет.Красный;
lblerrormsg.Видимое = истинное;
}
наконец
{
Кэш.Удалить("AcntNum");
}
}
}
}