У меня есть проект, чтобы сохранить назначения пациентов для определенных дат. Мой проект имеет datagridview, связанный с базой данных sqlserver. Сетка содержит столбец с именем «Время». Я назначил значения этого столбца в sqlserver.When i введите форму datagridview содержит 10 пустых строк, чтобы пользователь мог сохранить пациентов в определенные моменты времени. Форма содержит также monthcalendar.Что я хочу показать свою сетку с пустыми строками для каждой даты месяца, чтобы сохранить встречи в разные даты.MonthCalendar Дата изменения даты
Я видел это ниже, но он использовал набор данных и им работал с сущностью модели. Я не знаю, как ее реализовать, пожалуйста, помогите мне.
Public Function connect()
Dim sql As String = "Data Source=RINOR-PC\SQLEXPRESS;Initial Catalog=Ordinanca;Integrated Security=True"
Return New Sqlconnection(sql)
End Function
Public Function search(pmtData As Date) As DataTable
Using con As SqlConnection = connect()
Dim dt As Datatable = New Datatable()
Try
Dim query As String = "SELECT * FROM CLIENTS WHERE DT='" + pmtData + "'"
Dim cmd As SqlCommand = New sqlCommand(query, con)
Dim da As SqldataAdapter = New sqlDataadapter(cmd)
da.Fill(dt)
Catch ex As Exception
Messagebox.show(ex.Message)
Finally
con.close()
End Try
Return dt
End Using
End Function
Private Sub monthcalendar1_datechanged(sender As Object, e As DateRangeEventArgs) Handles monthcalendar1.datechanged
Dim datatable As datatable
Dim pmtdata As Date
pmtdata = monthcalendar1.selectionstart
datatable = search(pmtdata)
gridview.datasource = datatable
End Sub
Мой код:
Public Class Form1
Dim db As New OrdinancaEntities
Dim pacienti As New Pacientet
Dim isEditing As Boolean = True
Dim selectedPacient As Int16
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
BindingDatagridView()
FillData("")
End Sub
Sub BindingDatagridView()
dgvPacientet.DataSource = db.Pacientets.ToList()
End Sub
Sub FillData(searchText As String)
Dim data As List(Of Pacientet)
Dim context As New OrdinancaEntities
If searchText = "" Then
data = context.Pacientets.OrderBy(Function(t) t.Id).ToList()
Else
data = context.Pacientets.Where(Function(t) t.Emri.StartsWith(searchText) Or t.Mbiemri.StartsWith(searchText)).OrderBy(Function(t) t.Id).ToList()
End If
dgvPacientet.AutoGenerateColumns = False
dgvPacientet.DataSource = data
SelectClient()
End Sub
Sub EnableButton(bPërditëso As Boolean)
btnPërditëso.Enabled = bPërditëso
End Sub
Sub SelectClient()
If dgvPacientet.SelectedRows.Count > 0 Then
selectedPacient = CInt(dgvPacientet.SelectedRows.Item(0).Cells("Id").Value.ToString())
txtEmri.Text = dgvPacientet.SelectedRows.Item(0).Cells("Emri").Value.ToString()
txtMbiemri.Text = dgvPacientet.SelectedRows.Item(0).Cells("Mbiemri").Value.ToString()
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Emri_prindit").Value) Then
txtEmri_prindit.Text = dgvPacientet.SelectedRows.Item(0).Cells("Emri_prindit").Value.ToString()
Else
txtEmri_prindit.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Datelindja").Value) Then
txtDatelindja.Text = dgvPacientet.SelectedRows.Item(0).Cells("Datelindja").Value.ToString()
Else
txtDatelindja.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Numri_telefonit").Value) Then
txtNumri.Text = dgvPacientet.SelectedRows.Item(0).Cells("Numri_telefonit").Value.ToString()
Else
txtNumri.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Diagnoza").Value) Then
txtDiagnoza.Text = dgvPacientet.SelectedRows.Item(0).Cells("Diagnoza").Value.ToString()
Else
txtDiagnoza.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Tretmani_planifikuar").Value) Then
txtTretmani_planifikuar.Text = dgvPacientet.SelectedRows.Item(0).Cells("Tretmani_planifikuar").Value.ToString()
Else
txtTretmani_planifikuar.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Tretmani_kryer").Value) Then
txtTretmani_kryer.Text = dgvPacientet.SelectedRows.Item(0).Cells("Tretmani_kryer").Value.ToString()
Else
txtTretmani_kryer.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Pagesa").Value) Then
txtPagesa.Text = dgvPacientet.SelectedRows.Item(0).Cells("Pagesa").Value.ToString()
Else
txtPagesa.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Pagoi").Value) Then
txtPagoi.Text = dgvPacientet.SelectedRows.Item(0).Cells("Pagoi").Value.ToString()
Else
txtPagoi.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Doktori").Value) Then
cboDoktori.Text = dgvPacientet.SelectedRows.Item(0).Cells("Doktori").Value.ToString()
Else
cboDoktori.Text = ""
End If
If Not IsNothing(dgvPacientet.SelectedRows.Item(0).Cells("Dt_terminit").Value) Then
Me.MonthCalendar1.SelectionStart = dgvPacientet.SelectedRows.Item(0).Cells("Dt_terminit").Value.ToString()
Else
Me.MonthCalendar1.SelectionStart = Date.Now
End If
End If
End Sub
Private Sub btnPërditëso_Click(sender As Object, e As EventArgs) Handles btnPërditëso.Click
If isEditing Then
Dim context As New OrdinancaEntities
Dim client As Pacientet = (From c In context.Pacientets
Where c.Id = selectedPacient
Select c).FirstOrDefault()
client.Emri = txtEmri.Text
client.Mbiemri = txtMbiemri.Text
client.Emri_prindit = txtEmri_prindit.Text
client.Datelindja = txtDatelindja.Text
client.Numri_telefonit = txtNumri.Text
client.Diagnoza = txtDiagnoza.Text
client.Tretmani_planifikuar = txtTretmani_planifikuar.Text
client.Tretmani_kryer = txtTretmani_kryer.Text
client.Pagesa = txtPagesa.Text
client.Pagoi = txtPagoi.Text
client.Doktori = cboDoktori.SelectedItem
client.Dt_terminit = Me.MonthCalendar1.SelectionStart
context.SaveChanges()
BindingDatagridView()
End If
isEditing = True
FillData("")
MessageBox.Show("Të dhënat u insertuan me sukses.")
End Sub
Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
ClearText()
End Sub
Sub ClearText()
txtEmri.Clear()
txtMbiemri.Clear()
txtNumri.Clear()
txtDiagnoza.Clear()
txtPagesa.Clear()
txtPagoi.Clear()
cboDoktori.Text = "Zgjedh doktorin"
txtEmri.Focus()
txtTretmani_planifikuar.Clear()
txtTretmani_kryer.Clear()
txtDatelindja.Clear()
txtEmri_prindit.Clear()
End Sub
Private Sub txtKerko_TextChanged(sender As Object, e As EventArgs) Handles txtKerko.TextChanged
FillData(txtKerko.Text)
End Sub
Private Sub dgvPacientet_RowEnter(sender As Object, e As DataGridViewCellEventArgs) Handles dgvPacientet.RowEnter
SelectClient()
End Sub
End Class
заменить данные, которые возвращены из «Поиск» в списке сущностей? Пока имена свойств вашего объекта совпадают с gridview, он должен работать? – ADyson
@Adyson Я не могу использовать sqlcommand, sqlconnection, dataAdapter, пока я использую модель Entity – Rinor
именно так я и говорю. Замените весь код в функции поиска кодом, который вы используете для извлечения вашего объекта. Из вашего вопроса это звучит так, как вы уже писали это. Вы все равно можете использовать список своих объектов для привязки к gridview. – ADyson