1
지도자에 변경 버튼 텍스트와 링크, 내 쿼리 또한 는 GRIDVIEW : ButtonField : 페이지로드
Gridview:TemplateField에 나는 ButtonField와의 gridview 있습니다. 페이지로드시 사용자 유형에 따라 텍스트를 변경하고 싶습니다.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Trim(Request.QueryString("Msg")) <> "" Then
If InStr(Request.QueryString("Msg"), "<") > 0 Then
Response.Write(Mid(Request.QueryString("Msg"), 1, InStr(Request.QueryString("Msg"), "<")))
Else
Response.Write(Request.QueryString("Msg"))
End If
End If
If Page.IsPostBack = False Then
Dim sSeries As String
sSeries = "Aim NBDE Part 1"
Dim o_cmd As SqlCommand
Dim o_reader As SqlDataReader
o_Con = New SqlConnection(GlobalVarC.DataS)
o_Con.Open()
Dim ds As New Data.DataSet
Dim da As SqlDataAdapter
Dim ExamId As String
S_Sql = "SELECT SNo from Exam_Ser where Series='" & sSeries.ToString & "'"
o_cmd = New SqlCommand(S_Sql, o_Con)
o_reader = o_cmd.ExecuteReader
ExamId = ""
Dim ExamIdTmp As String
While o_reader.Read
If ExamId.Equals("") Then
ExamId = ExamId + "SNo = "
Else
ExamId = ExamId + " OR SNo = "
End If
ExamIdTmp = o_reader(0).ToString
ExamId = ExamId + ExamIdTmp
ExamId = ExamId + ""
End While
o_reader.Close()
o_cmd.Dispose()
S_Sql = "SELECT Name from Exam where " & ExamId.ToString
da = New SqlDataAdapter(S_Sql, o_Con)
da.Fill(ds)
GridSubject.DataSource = ds
GridSubject.DataBind()
da.Dispose()
ds.Dispose()
o_Con.Close()
For Each row As GridViewRow In GridSubject.Rows
Dim button As Button
button = DirectCast(row.FindControl("idAppearButton"), Button)
button.Text = "Buy"
Next
End If
End Sub
나는 GridSubject_SelectedIndexChanged
에서 버튼 클릭에 대한 작업을 수행 할 수있게되었습니다.
텍스트를 변경하려면 Gridview에서 버튼을 가져 오려고합니다. 일부 검색을 시도하고 'GridSubject_SelectedIndexChanged'에서 클릭 버튼을 제어하는 방법을 찾았지 만 페이지로드는 아닙니다.
페이지로드시 ButtonField CommandName = "ViewResults"핸들을 얻는 방법에 대한 지침을 얻을 수 있다면 정말 도움이 될 것입니다. 이 같은 그리드에 바인딩으로
<asp:ButtonField ButtonType="Button" CommandName="ViewResults" Text="Results" >
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Top" />
</asp:ButtonField>
<div id="gridViewId" align="center">
<asp:GridView ID="GridSubject" runat="server" AutoGenerateColumns="False" CellPadding="3"
OnSelectedIndexChanged="GridSubject_SelectedIndexChanged" BackColor="#CCCCCC"
BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
Width="714px" GridLines="Horizontal"
>
<EditRowStyle Font-Names="Calibri" />
<EmptyDataRowStyle Font-Names="Calibri" />
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" Font-Names="Calibri" />
<AlternatingRowStyle BackColor="#F7F7F7" Font-Names="Calibri" />
<Columns >
<asp:BoundField DataField="Name" HeaderText="Exam Name">
<ItemStyle Width="140px" HorizontalAlign="Left" VerticalAlign="Top" />
<HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:TemplateField ItemStyle-Width="100px">
<ItemTemplate>
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Value="0">Part 1</asp:ListItem>
<asp:ListItem Value="1">Part 2</asp:ListItem>
<asp:ListItem Selected="True" Value="3">Part 1 & 2</asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
<FooterStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle Width="100px" HorizontalAlign="Left"></ItemStyle>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:Button ID="idAppearButton" runat="server"
CommandName="MYCOMMAND" Text="Appear">
</asp:Button>
</ItemTemplate>
</asp:TemplateField>
<asp:ButtonField ButtonType="Button" CommandName="ViewResults" Text="Results" >
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Top" />
</asp:ButtonField>
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Label runat="server" Text="Not Completed"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor="#E7E7FF" ForeColor="#000000" Font-Names="Calibri" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7"
Font-Names="Cambria" />
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right"
Font-Names="Calibri" />
<HeaderStyle BackColor="#000000" Font-Bold="True" ForeColor="#F7F7F7" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#808080" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#383838" />
<SortedAscendingCellStyle BackColor="#F4F4FD"></SortedAscendingCellStyle>
<SortedAscendingHeaderStyle BackColor="#5A4C9D"></SortedAscendingHeaderStyle>
<SortedDescendingCellStyle BackColor="#D8D8F0"></SortedDescendingCellStyle>
<SortedDescendingHeaderStyle BackColor="#3E3277"></SortedDescendingHeaderStyle>
</asp:GridView>
</div>
당신 캔트 액세스를,하지만 당신은 사용 할 수 있습니다 행 바운드 이벤트, 데이터가 gridview에 바인딩 할 때마다 불이납니다 –
ButtonFiled를 TemplateField로 변환하거나 행 이벤트를 사용하는 두 가지 옵션이 있습니다. rowbound 이벤트에서 샘플에 대한 포인터를 얻을 수 있다면 도움이 될 것입니다. – Tectrendz
나는 대부분 단순화 된 templatefield coz를 선호하는데, 잘 karl 이미 rowdatabound의 스 니펫 샘플 코드를 게시한다. –