Автор |
Тема  |
|
verus
Почетен Член
12 Пораки |
Posted - 10/05/2006 : 09:32:30
|
Здраво, имам еден чуден проблем околу превод на header-ите на datagrid. Имено, рекурзивно се преведуваат сите контроли на страната, но се што е datagrid контрола останува непреведено (хедерите). Кодот се извршува за превод, меѓутоа на интерфејсот остануваат непреведени повторно. Еве како може да се репродуцира грешката најбрзо. Направив grid i button. Гридот има две колони (orderDate и note), направени во design time.
Едноставниот код е подолу (VB.NET): Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then FillGrid() Translate() End If End Sub
Private Function FillGrid() Dim con As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("Conn")) Dim DA As SqlDataAdapter = New SqlDataAdapter("select * from orders", con) Dim dt As DataTable = New DataTable DA.Fill(dt) DataGrid1.DataSource = dt DataGrid1.DataBind() End Function
Private Function Translate() Dim column As System.Web.UI.WebControls.DataGridColumn For Each column In DataGrid1.Columns column.HeaderText = "asdads" Next column
Button1.Text = "asdads" Next End Function
После извршувањето хедерите остануваат непреведени, а button-от е преведен. Ако направам postback, се преведуваат и хедерите...
Некое решение во скоро време добро би ми дошло :)
Поздрав. |
|
verus
Почетен Член
12 Пораки |
Испратено - 10/05/2006 : 11:26:13
|
ОК, проблемот го решив делумно. Ако кодот за превод се изврши во Page_OnInit наместо во Load() или PreRender(), хедерите се преведуваат. Сега проблем се оние гридови кај кои колоните се генерираат за време на извршување. Тогаш гридот не гледа дека има колони. Помош за ова?
Поздрав.
|
 |
|
boban
Почетен Член
Macedonia
11 Пораки |
Испратено - 10/05/2006 : 16:00:20
|
Postojat povekje resenija: -najevtino i najloso e da go povikas Translate() i kako posledna linija vo FillGrid() -pomalku evtino i pomalku loso e da go podelis Translate() na dva dela i toa TranslateGrid() i Translate() i potoa da go stavis TranslateGrid() kako posledna linija vo FillGrid() -najskapo i mozebi najdobro e da ja deklariras tabelata za koja se binduva gridot namesto vo FillGrid nadvor na nivo na formata. Potoa da go smenis FillGrid i vo nego da ima samo polnenje na vekje definirata tabela, a delot za binduvanje na gridot da bide primer vo Form_Load |
 |
|
verus
Почетен Член
12 Пораки |
Испратено - 17/05/2006 : 14:56:49
|
Да резимирам во еден ред. Решение на проблемот: Ако хедерот се преведе после bind-ање на датагридот, тогаш преводот нема да е ОК. Преводот мора да биде прв, па после да се направи BIND на гридот.
Поздрав, Иво
|
 |
|
|
Тема  |
|