2010-12-11 5 views
0

Suivie this exemple sur le site Web de telerik et mis en œuvre comme suit: -Besoin d'aide avec la liaison RADStrip de Telerik dynamiquement

page ASPX: -

<div id="div1" runat="server"> 
     <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1"> 
     </telerik:RadTabStrip> 
     <telerik:RadMultiPage ID="RadMultiPage1" runat="server" Width="100%"> 
      <telerik:RadPageView ID="pv1" runat="server" Selected="true"> 
      </telerik:RadPageView> 
     </telerik:RadMultiPage> 
    </div> 
Code

derrière: -

Cette méthode l'ensemble de données de ligne ds = objbllQuesType.GetQuesType(); renvoie un DataSet avec une table contenant QuesTypeID et QuesType Nom

Maintenant, ce qui se passe est, seulement 4 Tabs sont générés sur le RadStrip qui je sais est coz de la "boucle for (int i = 0; i < 4; je ++) " Je veux le non. des onglets pour être égal au non. de QuesType s j'ai dans ma table qui est 6.

En outre, tous les onglets du texte est « QuesType1 » quand il devrait être comme suit: -

Dans le RadStrip, le texte de Tab1 devrait être « QuesType1 » , Le texte de Tab2 devrait être "QuesType2", le texte de Tab3 devrait être "QuesType3" et ainsi de suite.

Comment modifier le code ci-dessus pour obtenir ce que je veux?

[EDIT] Est-ce que quelqu'un a déjà travaillé avec RADStrip de Telerik? Besoin d'aide plz.

Que dois-je modifier dans le code ci-dessous afin qu'il récupère les QuesTypes et lie QuesTypes aux onglets? Actuellement, il ne récupère que le premier QuesType et lie celui-ci à TOUS les attributs de texte de l'onglet.

for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
      { 
      tab.Text = ds.Tables[0].Rows[0]["QuesType"].ToString(); 
      } 

Répondre

1

Essayez ce code pour le texte de jeu aux onglets:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      DataSet ds = GetDataSet(); 

      for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
      { 
       CreateRootTab(i, ds); 
      } 
      RadTabStrip1.SelectedIndex = 0; 
     } 
    } 

    private void CreateRootTab(int index, DataSet ds) 
    { 
     for (int i = 0; i < ds.Tables[0].Columns.Count; i++) 
     { 
      var tab = new RadTab(); 
      tab.Text = (string) ds.Tables[0].Rows[index].ItemArray[i]; 
      RadTabStrip1.Tabs.Add(tab); 
     } 
    } 

    private DataSet GetDataSet() 
    { 
     bllQuesType objbllQuesQType = new bllQuesType(); 
     var ds = new DataSet(); 
     return objbllQuesType.GetQuesType(); 
    } 

Je ne travaillais pas avec Rad, mais je pense qu'il peut être helpfull dans votre cas.

Cordialement, Dima.

+0

Dans le code ci-dessus, GetQuesType() renvoie un QuesType complet nommé Table de sorte que les tabulations générées par le code ci-dessous soient équivalentes au non. des enregistrements dans le tableau. Ce que je veux, c'est que seule la colonne QuesType soit liée aux onglets. Que devrais-je changer dans ce code? – Serenity

+0

Si vous devez lier une colonne appelée QuesType, vous devez parcourir chaque ligne et obtenir la colonne souhaitée. Essayez ceci: pour (int i = 0; i

Questions connexes