PASS Македонија
PASS Македонија
Главна | Профил | Регистрирање | Активна тема | Членови | Пребарување | FAQ
Корисник:
Лозинка:
Сними ја лозинката
 Сите форуми
 Microsoft
 Microsoft.NET 1.1/2.0/3.0/3.5
 Превод на datagrid header
 Нова Тема  Одговори на Тема
 Погодно за печатење
Автор Предходна Тема Тема Наредна Тема  

verus
Почетен Член

12 Пораки

Posted - 10/05/2006 :  09:32:30  Прикажи го профилот  Посети ја verus-овата Страна  Одговори со Цитат
Здраво, имам еден чуден проблем околу превод на 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  Прикажи го профилот  Посети ја verus-овата страна  Одговори со цитат
ОК, проблемот го решив делумно. Ако кодот за превод се изврши во Page_OnInit наместо во Load() или PreRender(), хедерите се преведуваат. Сега проблем се оние гридови кај кои колоните се генерираат за време на извршување. Тогаш гридот не гледа дека има колони. Помош за ова?

Поздрав.

На почеток од страната

boban
Почетен Член

Macedonia
11 Пораки

Испратено - 10/05/2006 :  16:00:20  Прикажи го профилот  Притисни да ја видиш boban-овата MSN Messenger адреса  Испрати boban Yahoo! Порака  Одговори со цитат
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  Прикажи го профилот  Посети ја verus-овата страна  Одговори со цитат
Да резимирам во еден ред. Решение на проблемот:
Ако хедерот се преведе после bind-ање на датагридот, тогаш преводот нема да е ОК.
Преводот мора да биде прв, па после да се направи BIND на гридот.

Поздрав,
Иво

На почеток од страната
  Предходна Тема Тема Наредна Тема  
 Нова Тема  Одговори на Тема
 Погодно за печатење
Прејди на:
PASS Македонија © PASS Македонија На почеток од траницата
Powered By: PASS Македонија 3.4.03