내 asp.net 응용 프로그램에서 두 개의 링크 버튼이 두 개의 열로 된 gridview가 있습니다. 그리고 gridview에는 몇 개의 행이 있습니다. 이제 내 질문은 열 값을 선택할 때 열 머리글 텍스트를 얻는 방법입니다.
(B와 E)가 링크 버튼 인 gridview에 5 개의 열 (A, B, C, D 및 E)이 있고 gridview에는 일부 행이 바인딩되어 있습니다. 이제 열에서 값 (X)을 선택하면 "B"라고 말하면 코드 뒤에 열 머리글 텍스트 "B"를 얻고 싶습니다. E 열과 비슷하게 선택한 열 머리글 텍스트를 구별해야합니다 .... .. 여기 gridview입니다
<asp:GridView Width="100%" ID="grdReport" OnRowCommand="grdReport_RowCommand" runat="server"
CssClass="table table-striped table-bordered" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="LetterID" HeaderText="Letter ID" ReadOnly="True" SortExpression="LetterID" Visible="false" />
<asp:TemplateField HeaderText="SNo" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lblSNumber" Text='<%# Container.DataItemIndex + 1 %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Ref No" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100">
<ItemTemplate>
<asp:LinkButton ID="lnkRefNo" runat="server" CommandName="Select" CommandArgument='<%# Bind("LetterID") %>' Text='<%# Eval("RefNo") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="LetterDate" ItemStyle-CssClass="text-center" ItemStyle-Width="100" DataFormatString="{0:dd/MMM/yyyy}" HeaderText="Date" ReadOnly="True" SortExpression="LetterDate" />
<asp:TemplateField HeaderText="From Company" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lnkfrmCompany" Text='<%# Bind("FromCompany") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="To Company" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lnkToCompany" Text='<%# Bind("ToCompany") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100">
<ItemTemplate>
<asp:LinkButton ID="lnkSubject" CommandName="Select" CommandArgument='<%# Bind("LetterID") %>' Text='<%# Bind("Subject") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle HorizontalAlign="Right" CssClass="GridPager" />
<EmptyDataTemplate>
<center><span style="color: red;"><i class="fa fa-users fa-2x"></i> No Reports found.</span></center>
</EmptyDataTemplate>
</asp:GridView>
이제 두 번째 열 (RefNo) 일부 값 (123)을 클릭하면 코드 뒤에있는 헤더 텍스트 RefNo를 원합니다. 감사합니다 ...
헤더 열 이름을 얻으려는 이유를 놓쳤을 수 있지만 클릭 한 버튼에 따라 명령 방법을 다르게 실행하려는 것 같습니다.
이 작업을 수행하는 가장 간단한 방법은 CommandName
속성을 사용하여 필요한 작업을 정의하는 것입니다. 버튼의 기능을 이미 알고 있으므로 더 이상 문제를 복잡하게 만들 필요가 없습니다.
그래서 :
<asp:LinkButton ID="lnkRefNo" runat="server" CommandName="Ref" CommandArgument='<%# Bind("LetterID") %>' Text='<%# Eval("RefNo") %>' />
과
<asp:LinkButton ID="lnkSubject" CommandName="Subject" CommandArgument='<%# Bind("LetterID") %>' Text='<%# Bind("Subject") %>' runat="server" />
코드 숨김에서 :
private void grdReport_RowCommand(object sender, CommandEventArgs e)
{
string commandName = e.CommandName;
string commandArg = e.CommandArgument.ToString();
switch (commandName)
{
case ("Ref"):
//do whatever for Ref
break;
case ("Subject"):
//whatever for Subject
break;
default:
throw new NotImplementedException();
break;
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다