ورود

View Full Version : سوال: چرا Dropdownlist در Footer یه GridView دوبار پر میشه؟



odiseh
سه شنبه 26 شهریور 1387, 09:27 صبح
سلام
من یه گریدویو دارم که در بخش Footer اون یک Dropdownlist گذاشتم که در روتین RowCreated از گرید، پرش می کنم .
اما نمی دونم چرا دوبار با داده های DataTable پر میشه؟

به نظر شما مشکل از کجاست؟

el_abdollahi
سه شنبه 26 شهریور 1387, 09:38 صبح
شرط گذاشتی که اگر فوتر بود پرش کنه؟

odiseh
سه شنبه 26 شهریور 1387, 11:18 صبح
بله


With e.Row
If .RowType = DataControlRowType.Footer Then
If .FindControl("drpInterestFooter") IsNot Nothing Then
CType(.FindControl("drpInterestFooter"), DropDownList).DataSource = mdtInterest
CType(.FindControl("drpInterestFooter"), DropDownList).DataValueField = "ID"
CType(.FindControl("drpInterestFooter"), DropDownList).DataTextField = "Name"
CType(.FindControl("drpInterestFooter"), DropDownList).DataBind()
End If
End If
If .FindControl("drpInterestEditItem") IsNot Nothing Then
CType(.FindControl("drpInterestEditItem"), DropDownList).DataSource = mdtInterest
CType(.FindControl("drpInterestEditItem"), DropDownList).DataValueField = "ID"
CType(.FindControl("drpInterestEditItem"), DropDownList).DataTextField = "Name"
CType(.FindControl("drpInterestEditItem"), DropDownList).DataBind()
End If
End With

el_abdollahi
سه شنبه 26 شهریور 1387, 11:27 صبح
خوب ، اگه جای دیگه پرش نمیکنی. یه Breakpoint بزار ببین چند بار اجرا میشه!
یه چیز دیگه: کد پر کردن mdtinterest رو هم بزار.

odiseh
سه شنبه 26 شهریور 1387, 11:53 صبح
جالبه یه بار اجرا میشه اما دو بار پر شده!!!!

اینم کد::


Protected Sub FillDataTableOfInterest()
Dim objBase As New clsBase
Dim e As Exception
Dim sWhere, sTableName As String
Dim dsInterest As New DataSet
sWhere = "Status = " & enmActive.actActive
sTableName = "T_B_Skill_Interest"
Try
e = objBase.SelectByCondition(dsInterest, sTableName, sWhere)
If e Is Nothing Then
mdtInterest = dsInterest.Tables(sTableName)
mdtInterest = CType(mdtInterest, DataTable)
End If
Catch ex As Exception
End Try
dsInterest.Dispose()
dsInterest = Nothing
End Sub

el_abdollahi
سه شنبه 26 شهریور 1387, 12:25 عصر
این mdtinterest کجا تعریف میشه؟
من احتمال میدم که یه بار مقدار داره و دوباره توی row_created پر میشه. (بدون از بین رفتن مقدار قبلی)
اونجا که داری پرش میکنی از نو تعریف کن و یا اول خالیش کن بعد پرش کن.
ببین این تابع Filldatatableofinterest چند بار اجرا میشه؟