2015-06-23 3 views
0

У меня есть простая таблица, как показано ниже:Создание SQL заявления на другой странице, основанной на LinkButton

enter image description here

Когда пользователь нажимает на кнопку Шаблон Field Link, он должен отправить на другую страницу и заполнить информацию в следующих текстовых поля:

enter image description here

Я хочу, чтобы иметь возможность заполнить оператор SQL, который использует информацию таблицы для заполнения информации из базы данных:

Ниже мой GridView:

<Columns> 

    asp:TemplateField HeaderText="Action" SortExpression="Date"> 
     <ItemTemplate> 
      <asp:LinkButton ID="LinkButton1" runat="server" CommandName="view" >Display</asp:LinkButton> 
     </ItemTemplate> 
      <ControlStyle Width="45px" /> 
      <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" /> 
     </asp:TemplateField> 

    <asp:BoundField DataField="Classid" HeaderText="ID" 
          SortExpression="Date" > 
     <ItemStyle cssClass="grid_padding" /> 
    </asp:BoundField> 

    <asp:BoundField DataField="Addate" HeaderText="Date" SortExpression="Date" 
          DataFormatString="{0:d}" > 
     <ItemStyle cssClass="grid_padding" /> 
    </asp:BoundField> 

    <asp:BoundField DataField="username" HeaderText="User Name" 
          SortExpression="Date" > 
     <ItemStyle cssClass="grid_padding" /> 
    </asp:BoundField> 

    <asp:BoundField DataField="category" HeaderText="Category" SortExpression="Date"> 
     <ItemStyle cssClass="grid_padding" /> 
    </asp:BoundField> 

    <asp:BoundField DataField="description" HeaderText="Description" 
          SortExpression="Date" >     
     <ItemStyle CssClass="grid_padding2" /> 
    </asp:BoundField> 

</Columns> 

Это где я нахожусь до сих пор для кнопки Link (UPDATE: все закомментированы строки дают мне ошибки, поэтому они не работают):

Protected Sub DisplayClassifieds_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DisplayClassifieds.SelectedIndexChanged 
    Dim strSelect As String 
    Dim strFilter As String = " " 
    Dim counter As Integer = 0 
    Dim v As Integer = 0 
    'cell = DisplayClassifieds[0,Row].Value 

    'cell = DisplayClassifieds.Rows(e.NewSelectedIndex).Cells(0).Text 
    'strFilter = DisplayClassifieds.SelectedRowStyle(0).Value 

    strSelect = "SELECT Classid, Addate, Username, Category, Description, Fulldescription FROM TABLENAME WHERE Classid = '" & strFilter & "' " 


    Page.Session.Add("Display_Values", strSelect) 
    Response.Redirect("DispAd.aspx") 
End Sub 
+0

Так вам нужна помощь при передаче значений с одной страницы на другую? – user3841709

+0

Мне нужна помощь, чтобы получить значения ячейки сетки из строки, на которую нажата кнопка отображения. Если я могу просто получить значение, подобное 'strFilter = cell [0]' строки, то я могу использовать это значение в моем SQL-заявлении @ user3841709 – narue1992

+0

'.SelectedRow' вызывает ошибку, что он не является членом GridView, поэтому Я не уверен, что мой 'Protected Sub DisplayClassifieds_RowCommand (отправитель As Object, e As System.Web.UI.WebControls' является неправильным или что-то еще. – narue1992

ответ

0

принял так много попыток, но имеющие SelectedRow.Cells (1) .Text ... или .Value дал мне вопросы, так что я разделить мою команду:

Dim row As GridViewRow = DisplayClassifieds.SelectedRow 
strFilter = row.Cells(1).Text 

С этим я получил свой «ID» значение, которое достаточно для использования для моего SQL

+0

Рад, что у вас это работает – user3841709

0

Я немного ржавый с моим vb.net GridView, поскольку я использую DataGridViews с WinForms, но они в основном одинаковы. Что-то вроде этого должно помочь вам в правильном направлении. Это должно идти в вашем шаблоне события нажатия кнопки

dim ID as string = DataGridView1.Rows(e.RowIndex).Cells("ID").Value 

dim Date as string = DataGridView1.Rows(e.RowIndex).Cells("Date").Value 

Продолжайте делать это для всех столбцов, которые вам нужны данные, тогда вы можете передать свой идентификатор, дата переменные на следующую страницу с помощью переменных сеанса

+0

Спасибо за вашу помощь. Я пробовал это в прошлом, но RowIndex выбрасывает ошибка. Я понял, наконец, после стольких попыток, хотя – narue1992

Смежные вопросы