Я создаю сайт, чтобы пользователь мог войти в систему и получить доступ к своим собственным данным (через сеанс). До сих пор, когда они регистрируются и проходят проверку подлинности, они перенаправляются на страницу пользователя и могут видеть свои собственные данные (в этом случае пациенты видят свои лекарства). Я хочу предоставить кнопку, которая соответствует лекарству, и позволяет пользователю выбирать лекарство, чтобы я мог использовать его в процесс заказа (если он выбран, а затем вставить в таблицу) - я не уверен, как это сделать.Как добавить кнопку для выбора опции в gridview в asp.net
Из базы данных есть таблица пациента (все таблицы все составлявшие фиктивные данные):
лекарство таблица:
И таблица ссылка, которая соединяет пациента со своими конкретными лекарствами:
Это код, который выводит таблицу, показывающую пациентов принадлежит особое лекарство на странице пользователя:
user.aspx
<asp:Content ID="Content3" ContentPlaceHolderID="contentbody" runat="Server" Inherits="Pages_user" CodeFile="Pages_user.aspx.vb">
<p>
<span class="auto-style2">Please Select Your Medication
</span>
</p>
<asp:GridView ID="GridView1" runat="server" ></asp:GridView>
</asp:Content>
user.aspx.vb:
Partial Class Pages_user
Inherits System.Web.UI.Page
Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs)
If Not IsPostBack Then
Dim conn As New System.Data.SqlClient.SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Laura\Final_proj\App_Data\surgerydb.mdf;Integrated Security=True;Connect Timeout=30")
Dim cmdstring As String = "SELECT pt.PatientId, pt.ForeName, pt.Username, md.Name, md.Purpose, md.Instrcutions " +
"FROM Patient pt INNER JOIN prescription pr ON pt.PatientId = pr.PatientId " +
"INNER JOIN medicine md ON md.MedicineId = pr.MedicineId Where pt.PatientId = @PatientId"
Dim dt As New System.Data.DataTable()
Dim da As New System.Data.SqlClient.SqlDataAdapter(cmdstring, conn)
da.SelectCommand.Parameters.Add("@PatientId", System.Data.SqlDbType.Int).Value = CInt(Session("PatientId").ToString())
conn.Open()
da.Fill(dt)
conn.Close()
GridView1.DataSource = dt
GridView1.DataBind()
End If
End Sub
Это то, что появляется, когда пользователь входит в систему (и ive рисуется на том, что я хочу отобразить также):
Я надеюсь, что кто-то может помочь застрял на этом за уныние.
Пожалуйста, не добавляйте 2 отдельных ответа. Измените исходный, чтобы включить изменения. – Codexer
Это работает! Добавлен столбец выбора, однако другая часть вопросов была связана с тем, как это связано с строкой - будет ли эта строка признавать, что этот элемент из базы данных выбран и что такое datakey? Извиняюсь, что я новичок. Я отметил ваш ответ и даю ему голосование – laurajs
Datakey похож на скрытый столбец. он не отображается, но может быть доступен через свойство datakey сетки (это может быть поле вашей строки id) можно добавить более одного набора данных. то, что он делает, это хранить идентификатор элемента или другую информацию, которую вы не обязательно хотите видеть пользователю, которая может быть передана на запросы и тому подобное. быстрый поиск даст более подробную информацию. – Dwight