[VB.NET] Datagrid dans tabstrip : bug ?
Bonjour
je travail avec visual studio et IIS en local
j ai crée un datagrid ( remplie avec des boutons ) que j ai uniquement liée a une table d' 1 dimension
je gere la datagrid grace a du code , et elle marche tres bien dans un webpage normale .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
<ie:TabStrip targetid="multipage" id="ts1" runat="server" TabDefaultStyle="color:#aaaaaa;background-color:#EEEEEE;border-color:#AAAAAA;border-width:1px;border-style:Solid;font-weight:bold;font-family:Verdana;font-size:11px;height:21;width:79;text-align:center;" TabHoverStyle="color:blue" TabSelectedStyle="color:#000000;background-color:#FFFFFF;border-bottom:none" SepDefaultStyle="background-color:#FFFFFF;border-color:#AAAAAA;border-width:1px;border-style:solid;border-top:none;border-left:none;border-right:none" Height="38px">
</ie:TabStrip>
<ie:Tab Text="Planning" />
<ie:TabSeparator />
<asp:datagrid id="MonDatagrid" style="Z-INDEX: 111; LEFT: 319px; POSITION: absolute; TOP: 119px" runat="server" Width="273" Height="41" BorderStyle="None" BorderColor="Black" CellPadding="0" BorderWidth="1px" AutoGenerateColumns="False">
<ie:MultiPage id="multipage" runat="server" style="Z-INDEX: 101; LEFT: 17px; POSITION: absolute; TOP: 63px" Height="600px" Width="800px">
<ie:pageview>
<Columns>
<asp:TemplateColumn HeaderText="8H00">
<ItemTemplate>
<asp:Button ToolTip='<%# DataBinder.Eval(Container.DataItem, "8H00") %>' Text="" onclick="on_click_dtButton" Width="100%" Height="100%" id="BtnHor01" runat="server" BorderStyle="None" ForeColor="#404040" BackColor='<%# setcolor("BtnHor01",DataBinder.Eval(Container.DataItem, "8H00"))%>' >
</asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
</asp:TemplateColumn>
</ie:pageview>
</ie:MultiPage>
'code behin :
Public Sub on_click_dtButton(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim buttonclicked As WebControls.Button = CType(sender, WebControls.Button)
Dim coll, line As Integer
coll = col(buttonclicked.ID)
line = ligne(buttonclicked.ToolTip.ToString)
If Mycolortable.Rows(line).Item(coll) = "0" Then
Mycolortable.Rows(line).Item(coll) = DrpDnLstChxAct.Items(DrpDnLstChxAct.SelectedIndex).Value
Else
Mycolortable.Rows(line).Item(coll) = "0"
End If
MonDatagrid.DataSource = Mytable
MonDatagrid.DataBind() 'c'est le seul moyen que j ai trouvé de rafraichir la datagrid
End Sub
Public Function setcolor(ByVal id_btn As String, ByVal tooltip As String) As System.Drawing.Color
Dim color As System.Drawing.Color
Dim line, coll As Integer
coll = col(id_btn) 'retourne le numéro de colonee suivant l id du bouton ( bidouillage )
line = ligne(tooltip) ' retourne la ligne suivant la valeur de tooltip
'mytable liée a la datagrid a une correspondance avec Mycolortable de meme dimension qui a comme valeur un chiffre indiquant la couleur de la case et ke je modifie
If Mycolortable.Rows(line).Item(coll) = "0" Then
color = System.Drawing.Color.Yellow
End If
If Mycolortable.Rows(line).Item(coll) = "1" Then
color = System.Drawing.Color.Black
End If
If Mycolortable.Rows(line).Item(coll) = "2" Then
color = System.Drawing.Color.Green
End If
If Mycolortable.Rows(line).Item(coll) = "3" Then
color = System.Drawing.Color.Blue
End If
Return color
End Function |
le probléme c'est que j ai crée un tabstrip , j ai intégré ma datagrid a l interieur ( copier coller du code ) , ainsi ke des fonctions , mais quand je modifie la valeur de la table , tout marche tres bien ( ca change de couleur quand on click sur un bouton )
le probleme , c'est que maintenant quand je click sur un bouton de la datagrid , tous les boutons prennent comme valeur texte "soumettre la requete" , est ce un bug ?
voila si vous avez des idées ( moi je séche ) ou des conseils sur ma méthode de devellopement ( j ai dévellopé les pages de mon tabstrip séparément et j ai copié/collé le code ( en tout cas l interface pour l'instant )
personne n a la réponse ?
je me permet de reposer ma question
quelqu'un serait il d ou vient cet affichage , ou comment modifier l affichage de mes boutons dans les template column ( je souhaite qu'ils soient vides , sachant que j'ai déja essaye de modifer la valeur des textes de mes boutons en leur donnant "" ) .
je c pa si résolu mais ...
bon une de mes datagrid est faite avec des template et des <asp:label>
et je n ai plus ce probleme
j ai résolu ca en mettant le texte dans mes boutons a la taille 1 ( on peut pa faire 0 ) et en mettant la couleur a jaune ( comme sur mes cases )
quand on change la couleur d une case ( pas jaune ) on voit un trait sur le bouton ( le texte en tout petit ) ca aurait ete sympa qu il existe une couleur transparente pour le texte ....
voila si vous avez des solutions plus élégantes je crache pas dessus !)