asp.net gridview dans le panneau de mise à jour, à rendre visible et mettre à jour le contenu
Actuellement, j'ai un créé dynamiquement gridview sur ma page. Lorsqu'un utilisateur entre quelque chose dans une zone de texte et appuie sur un bouton, l'ensemble de la page est actualisée pour remplir le gridview et de le rendre visible. Je ne veux pas que plus. Comment pourrais-je aller sur l'aide de l'UpdatePanel pour faire de la gridview visible et de le remplir?
<div class="span-93 prepend-2 top">
<strong>Enter Number</strong><br />
<asp:TextBox ID="PartNumber" runat="server" Width="100"></asp:TextBox>
<asp:Button ID="CreateButton" runat="server" Width="85" Text="Locate" OnClick="CreateButton_Click" />
</div>
<asp:Label ID="Select" runat="server" Font-Bold="true" Text="Select choice" Visible="false"></asp:Label><br />
<ajax:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GridView" Visible="false" runat="server" HeaderStyle-Width="200" HeaderStyle-BackColor="#2B6292" HeaderStyle-ForeColor="White"
AllowSorting="true" AllowPaging="true" Width="600" AutoGenerateColumns="False" OnRowCreated="GridView_OnRowCreated"
DataKeyNames="Id" onsorting="GridView_OnSort">
<Columns>
...
</Columns>
</asp:GridView>
</ContentTemplate>
<Triggers>
<ajax:AsyncPostBackTrigger ControlID="CreateButton"/>
</Triggers>
</ajax:UpdatePanel>
Theres un autre bouton sur la page intitulée CreateButton, évidemment, qui remplira le contrôle gridview et de le rendre visible, de sorte qu'un utilisateur peut sélectionner à partir d'elle. Est-ce possible? Merci à l'avance.
Edit: Code de Liaison à gridview:
protected void Create_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Number.Text))
{
BLL newbll = new BLL();
Database.DataTable tempTable = newbll.GetItemByPartNumber(Number.Text);
if (Table.Count != 0)
{
DataTable table = tempTable ;
string[] VID = { "Id" };
GridviewDiv.Visible = true;
GridView.DataSource = table;
GridView.DataKeyNames = VID;
GridView.DataBind();
}
}
}
- On ne sait pas trop moi si vous en avez un ou deux boutons agissent comme des déclencheurs pour l'affichage de la GridView - pouvez-vous préciser ?
- C'est juste un bouton.
Vous devez vous connecter pour publier un commentaire.
Depuis votre panneau de mise à jour mise à jour du mode Conditionnel, dans votre code derrière après votre appel à DataBind sur l'affichage de la grille, vous aurez besoin de faire appel de mise à Jour() sur le nom de votre Panneau de mise à Jour (nommé UpdatePanel dans ce cas).
Ayant déclaré la CreateButton comme un déclencheur, vous ne devriez pas avoir à appeler explicitement la mise à Jour() pour effectuer l'actualisation
Où avez-vous déclaré le CreateButton ? - il doit être dans la même "NamingContainer" comme l'UpdatePanel pour trouver
Vous pouvez déplacer la déclaration de la CreateButton à l'intérieur de votre panneau de mise à jour. Si donc vous n'avez pas besoin de déclarer explicitement un déclencheur voir si cela fait une différence
Utilisation suivantes