PDA

View Full Version : كنترل مقدار Gridview هنگام ورود اطلاعات سمت كلاينت



m_nejad
پنج شنبه 17 بهمن 1387, 10:20 صبح
توي يك گريد مقاديري پر شده است كه يك فيلد قابليت اصلاح توسط كاربر را دارد. مي‌خواهم وقتي كاربر اين فيلد را اصلاح كرد قبل از اينكه كليد تاييد‌(update) ركورد را بزند (مثلا هنگام ترك فوكوس) اين مقدار را با مقداري از بانك مقايسه كنم كه بيشتر نباشد.

Developer Programmer
پنج شنبه 17 بهمن 1387, 10:26 صبح
دو تا روش پیش رو داری
یکی اینکه با GetChange بخونی و رکورد به رکورد فیلدها رو پیمایش کنی
دومی اینکه


Private Sub DataGridView1_CellValidating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEve ntArgs) Handles DataGridView1.CellValidating

If DataGridView1.Columns(e.ColumnIndex).Name.Contains ("FirstName") Then
If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
DataGridView1.Rows(e.RowIndex).ErrorText = "Title name cant't be empty"
e.Cancel = True
End If
End If
End Sub

Private Sub DataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
' Clear the row error in case the user presses ESC.
DataGridView1.Rows(e.RowIndex).ErrorText = String.Empty
End Sub

m_nejad
جمعه 18 بهمن 1387, 08:51 صبح
دومی اینکه


Private Sub DataGridView1_CellValidating(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellValidatingEve ntArgs) Handles DataGridView1.CellValidating
.
.
.
.
Private Sub DataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As
. End Sub
[/QUOTE]

اين كنترل و كد (System.Windows.Forms.DataGridView) كه در web وجود ندارد!

m_nejad
جمعه 18 بهمن 1387, 08:58 صبح
با جاوا اسكريپت كد را مي نويسم ولي مشكل اينجاست كه براي بازيابي مقدار هر رديف نمي شود با كد زير آن را بدست آورد:

var txtN = document.getElementById("ctl00$ContentPlaceHolder1$GridView2$ctl02$TxtBoxNu mb");

دليلش هم اين است كه رديف دوم گريدويو با كد ctl03 و به همين ترتيب نام كنترل تغيير مي‌كند. روش ديگه هم به فكرم نمي رسه