|
Упрощение кода и обращений к программе(гриду)!!!
|
|||
---|---|---|---|
#18+
Привет! Пользуюсь DataGrid-ом следующим образом: 1.Делаю в DataEnvironment запрос, в форме у нужного мне DataGrid-а ставлю ствойства: DataSource = DataEnvironment DataMember = Zapros 2.В DataGrid жду правой педалью мыши и делаю Retrive Fields - делаю нужные мне невидимые, подставляю .caption 3. Удаляю свойства DataSource,DataMember 4.Таблица становится на стадии разработки такая как мне надо, далее в модуле формы подключаюсь к АДО создаю SQL и присваиваю Set me.DataGrid.DataSource=myAdo.recordset Вопрос: Если не используя DataEnvironment ,то придется ли при каждом обновлении данных в DataGrid( recordset) делать что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 09:58 |
|
Упрощение кода и обращений к программе(гриду)!!!
|
|||
---|---|---|---|
#18+
Если при обновлении набора число полей и их названия не меняются, то вид грида можно устанавливать один раз при загрузке формы, я так и делаю: ' Обновляем записи в гриде. Если параметр не передается, то курсор устанавливаем на первую запись, ' если параметр равен "last", то на последнюю Private Sub RefreshGrid(Optional vntRow As Variant) Dim rst As New ADODB.Recordset Dim strSQL As String rst.CursorLocation = adUseClient rst.LockType = adLockPessimistic dtgРеестр.Visible = False strSQL = "SELECT tblРеестр.ukn AS ukn, tblРеестр.ФамБольного AS fam,tblРеестр.ИмяБольного AS im,tblРеестр.ОтчБольного AS ot," & _ "tblРеестр.ПолБольного AS pol,tblРеестр.ДатаРожд AS drj,tblРеестр.НомРеестра AS nr, tblРеестр.ДатаНач AS dn, tblРеестр.ДатаОконч AS de," & _ "tblРеестр.КодСубРФ AS ksrf,tblРеестр.НомИстрБол AS nib, tblРеестр.НазвСтрхКомп AS so," & _ "tblРеестр.НомПаспорта AS nps, tblРеестр.ДомАдрес AS dma, tblРеестр.МестоРаб AS mrab, tblРеестр.КодДиагноза AS kdg," & _ "tblРеестр.КодИсхода AS kis, tblРеестр.КодСпец AS ksp, tblРеестр.КодМестЛеч AS kml, tblРеестр.КолПосещ AS kpos," & _ "tblРеестр.ИтогСумма AS isum, tblРеестр.ДатаВвода AS dvd, tbcДиагнозМКБ.КодМКБ3, tbcДиагнозМКБ.НазвДиагноза," & _ "tbcСпециализация.НазвСпец,tblРеестр.СтоимТариф,tblРеестр.КодЦелиПосещ,tbcМестоПосещ.НазвМеста," & _ "tbcЦельПосещ.ЦельПосещ,tbcСубъектРФ.НазвСубъекта,tbcИсход.НазвИсхода as nzish" & _ " FROM tblРеестр INNER JOIN" & _ " tbcСпециализация ON tblРеестр.КодСпец = tbcСпециализация.ukn INNER JOIN" & _ " tbcИсход ON tblРеестр.КодИсхода = tbcИсход.ukn INNER JOIN" & _ " tbcСубъектРФ ON tblРеестр.КодСубРФ = tbcСубъектРФ.ukn INNER JOIN" & _ " tbcДиагнозМКБ ON tblРеестр.КодДиагноза = tbcДиагнозМКБ.ukn INNER JOIN" & _ " tbcЦельПосещ ON tblРеестр.КодЦелиПосещ = tbcЦельПосещ.ukn INNER JOIN" & _ " tbcМестоПосещ ON tblРеестр.КодМестЛеч = tbcМестоПосещ.ukn" rst.Open strSQL, cnn dtgРеестр.AllowUpdate = False Set dtgРеестр.DataSource = rst dtgРеестр.Columns(0).Caption = "код" dtgРеестр.Columns(1).Caption = "фамилия" dtgРеестр.Columns(2).Caption = "имя" dtgРеестр.Columns(3).Caption = "отчество" dtgРеестр.Columns(4).Caption = "пол" dtgРеестр.Columns(5).Caption = "дата рожд." dtgРеестр.Columns(6).Caption = "№ р." dtgРеестр.Columns(7).Caption = "дата нач." dtgРеестр.Columns(8).Caption = "дата оконч." dtgРеестр.Columns(9).Caption = "код субъекта РФ" dtgРеестр.Columns(10).Caption = "№ бол." dtgРеестр.Columns(11).Caption = "Название СМО" dtgРеестр.Columns(12).Caption = "номер полиса" dtgРеестр.Columns(13).Caption = "домашний адрес" dtgРеестр.Columns(14).Caption = "место работы" dtgРеестр.Columns(15).Caption = "код диагноза" dtgРеестр.Columns(16).Caption = "код исхода" dtgРеестр.Columns(17).Caption = "код спец." dtgРеестр.Columns(18).Caption = "код места" dtgРеестр.Columns(19).Caption = "чис. п." dtgРеестр.Columns(20).Caption = "сумма" dtgРеестр.Columns(21).Caption = "дата вв." dtgРеестр.Columns(22).Caption = "мкб" dtgРеестр.Columns(23).Caption = "название диагноза" dtgРеестр.Columns(24).Caption = "название специализации" dtgРеестр.Columns(25).Caption = "тариф" dtgРеестр.Columns(26).Caption = "код цели" dtgРеестр.Columns(27).Caption = "назв. места" dtgРеестр.Columns(28).Caption = "цель посещ." dtgРеестр.Columns(29).Caption = "название субъекта РФ" dtgРеестр.Columns(30).Caption = "исход" ' ширина столбцов грида dtgРеестр.Columns(0).Width = 500 dtgРеестр.Columns(1).Width = 1500 dtgРеестр.Columns(2).Width = 1500 dtgРеестр.Columns(3).Width = 1500 dtgРеестр.Columns(4).Width = 500 dtgРеестр.Columns(5).Width = 1000 dtgРеестр.Columns(6).Width = 500 dtgРеестр.Columns(7).Width = 1000 dtgРеестр.Columns(8).Width = 1000 dtgРеестр.Columns(9).Width = 0 dtgРеестр.Columns(10).Width = 750 dtgРеестр.Columns(11).Width = 4000 dtgРеестр.Columns(12).Width = 1500 dtgРеестр.Columns(13).Width = 4000 dtgРеестр.Columns(14).Width = 4000 dtgРеестр.Columns(15).Width = 0 dtgРеестр.Columns(16).Width = 0 dtgРеестр.Columns(17).Width = 0 dtgРеестр.Columns(18).Width = 0 dtgРеестр.Columns(19).Width = 750 dtgРеестр.Columns(20).Width = 1000 dtgРеестр.Columns(21).Width = 1000 dtgРеестр.Columns(22).Width = 750 dtgРеестр.Columns(23).Width = 4000 dtgРеестр.Columns(24).Width = 3500 dtgРеестр.Columns(25).Width = 1000 dtgРеестр.Columns(26).Width = 0 dtgРеестр.Columns(27).Width = 4000 dtgРеестр.Columns(28).Width = 2000 dtgРеестр.Columns(29).Width = 3000 dtgРеестр.Columns(30).Width = 1500 ' в зависимости от переданного параметра, устанавливаем курсор на первую или последнюю запись грида If rst.RecordCount <> 0 Then dtgРеестр.Visible = True If IsMissing(vntRow) Then dtgРеестр.Row = 0 Else dtgРеестр.Row = rst.RecordCount - 1 End If End If End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 16:51 |
|
|
start [/forum/topic.php?fid=60&tid=2170759]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 399ms |
0 / 0 |