Podrobné pokyny: Jak zobrazit vázané data v ovládacím prvku DataRepeater (Visual Studio)
Tento návod obsahuje základní scénář obsahující postup od počátku do konce pro zobrazení vázaných dat v ovládacím prvku DataRepeater.
Předpoklad
Tento návod vyžaduje ukázkovou databázi Northwind.
Pokud tuto databázi ve vývojovém počítači nemáte, můžete stáhnout z Microsoft Download Center. Pokyny naleznete v části Downloading Sample Databases (LINQ to SQL).
Přehled
První část tohoto návodu tvoří čtyři hlavní úkoly:
Vytvoření řešení.
Přidání ovládacího prvku DataRepeater.
Přidání zdroje dat.
Přidání ovládacích prvku s vázanými daty
Poznámka
Ve vašem počítači se pro některé z prvků uživatelského rozhraní aplikace Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedena v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Visual Studio, nastavení.
Vytváření řešení DataRepeater
V prvním kroku vytvoříte projekt a řešení.
Chcete-li vytvořit řešení DataRepeater
V aplikaci Visual Studio v nabídce Soubor , klikněte na tlačítko Nový projekt.
V pod okně Typy projektů v dialogovém okně Nový projekt, rozbalte Visual Basica potom klikněte na tlačítko Windows.
V pod-okně Šablony, klikněte na tlačítko Windows Forms aplikace.
Do pole Název zadejte DataRepeaterApp.
Klepněte na tlačítko OK.
Otevře se designer Windows formulářů.
Vyberte formulář v designeru Windows formulářů . V okně Vlastnosti nastavte vlastnost Sizena hodnotu 800,700 .
Přidání ovládacího prvku DataRepeater
V tomto kroku přidejte ovládací prvek DataRepeater do formuláře.
Přidání ovládacího prvku DataRepeater
V nabídce Zobrazit klepněte na příkaz Sada nástrojů.
Otevřete Panel nástrojů.
Označte záložku PowerPacks jazyka Visual Basic.
Přetáhněte ovládací prvek DataRepeater do Form1.
V okně Vlastnosti nastavte vlastnost Location na 0, 25.
Nastavte vlastnost Size na hodnotu 460, 600.
Přidání zdroje dat.
V tomto kroku přidáte zdroj dat pro ovládací prvek DataRepeater.
Přidání zdroje dat
V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.
V okně Zdroje dat klikněte na tlačítko Přidat nový zdroj dat.
Vyberte Databázi na stránce Zvolit datový typ zdrojová databáze a potom klikněte na tlačítko Next.
Na stránce Vybrat datové připojení proveďte jeden z následujících kroků:
Pokud připojení dat k ukázkové databázi Northwind je k dispozici v rozevíracím seznamu, klikněte na něj.
-nebo-
Klikněte na tlačítko Nové připojení ke konfiguraci nového připojení dat. Další informace naleznete v tématu How to: Create Connections to SQL Server Databases.
Pokud databáze vyžaduje heslo, vyberte možnost k zahrnutí důvěrných osobních údajů a pak klikněte na tlačítko Další.
Poznámka
Pokud se zobrazí dialogové okno, klikněte na tlačítko Ano k uložení souboru do vašeho projektu.
Klepněte na tlačítko Next na stránce Uložit připojovací řetězec do konfiguračního souboru aplikace.
Rozbalte uzel Tabulka na stránce Zvolte vaše databázové objekty.
Zaškrtněte políčka vedle Customers a Orders tabulek a potom klikněte na tlačítko Ukončit.
NorthwindDataSet je přidána do projekt a tabulky Customers and Orders se zobrazí v okně Zdroje dat.
Přidání ovládacích prvku s vázanými daty
V tomto kroku přidáte ovládací prvky s vázanými daty do DataRepeater.
Přidání ovládacích prvků s vázanými daty
V okně Zdroje data, vyberte uzel na nejvyšší úrovni pro tabulku Customers.
Změňte typ tabulky na Detail kliknutím na tlačítko Detail v rozevíracím seznamu na uzlu tabulky.
Vyberte uzel tabulky Customersa přetáhněte je do oblasti šablony položky (horní část) ovládacího prvku DataRepeater.
Ovládací prvek BindingNavigator je přidán na formulář a také komponenty NorthwindDataSet, CustomersBindingSource, CustomersTableAdapter, TableAdapterManagera CustomersBindingNavigator jsou přidány do pod-okno komponent.
Vyberte všechna pole a jejich přidružené popisy a umístěte jej poblíž levého okraje oblasti šablony položek.
Vyberte posledních pěti polí (Region, Postal Code, Country, Phone a Fax) a jejich přidružené popisky, přesuňte je doprava nahoru prvních šest polí.
Vyberte šablonu položek (horní oblast ovládacího prvku).
V okně vlastnosti, nastavte vlastnost Size na hodnotu 427, 170.
V tomto okamžiku máte funkční aplikaci, která zobrazí opakující se seznam zákazníků. Stisknutím klávesy F5 spustíte aplikaci, můžete změnit data, přidat nebo odstranit záznamy zákazníků.
Pomocí následující volitelných postupů se dozvíte, jak přizpůsobit ovládací prvek DataRepeater.
Další kroky (nepovinné)
Tato část návodu se skládá ze čtyř volitelných úkolů:
Změna vzhledu ovládacího prvku DataRepeater.
Zabránění uživatelům přidávání nebo odstraňování záznamů.
Přidání funkcionality vyhledávání na ovládacím prvku DataRepeater.
Přidání tabulky předloha a podrobnosti k ovládacímu prvku DataRepeater.
Změna vzhledu ovládacího prvku DataRepeater.
V tomto volitelné kroku změníte BackColor ovládacího prvku DataRepeater v době návrhu. Také přidáte kód k zobrazení řádek v střídavých barvách a k podmíněné změně ForeColor jmenovky.
Chcete-li změnit vzhled ovládací prvek
V Návrháři modelu Windows Forms vyberte hlavní oblast (nižší) ovládacího prvku DataRepeater.
V okně Vlastností nastavte vlastnost BackColor na white.
Dvakrát klikněte na DataRepeater, čímž otevřete editor kódu.
V rozevíracím seznamu událostí editoru kódu, klikněte na tlačítko DrawItem.
V obslužné rutině události DrawItem přidejte následující kód ke změně vlastnosti BackColor:
' Alternate the back color. If (e.DataRepeaterItem.ItemIndex Mod 2) <> 0 Then ' Apply the secondary back color. e.DataRepeaterItem.BackColor = Color.AliceBlue Else ' Apply the default back color. e.DataRepeaterItem.BackColor = DataRepeater1.BackColor End If
// Alternate the back color. if ((e.DataRepeaterItem.ItemIndex % 2) != 0) // Apply the secondary back color. { e.DataRepeaterItem.BackColor = Color.AliceBlue; } else { // Apply the default back color. e.DataRepeaterItem.BackColor = dataRepeater1.BackColor; }
V obslužné rutině události DrawItem přidejte následující kód, který změní ForeColor jmenovku v závislosti na podmínce:
If e.DataRepeaterItem.Controls(RegionTextBox.Name).Text = "" Then e.DataRepeaterItem.Controls("RegionLabel"). ForeColor = Color.Red Else e.DataRepeaterItem.Controls("RegionLabel"). ForeColor = Color.Black End If
if (e.DataRepeaterItem.Controls[regionTextBox.Name].Text == "") { e.DataRepeaterItem.Controls["regionLabel"].ForeColor = Color.Red; } else { e.DataRepeaterItem.Controls["regionLabel"].ForeColor = Color.Black; }
Stisknutím klávesy F5 spustíte aplikaci a v uvidíte vlastní nastavení.
Zabránění uživatelům přidávání nebo odstraňování záznamů.
V tomto volitelném kroku přidejte kód, který zabrání uživatelům v přidávání nebo odstraňování záznamů v ovládacím prvku DataRepeater.
Zabránění uživatelům v přidávání a odstraňování záznamů
V návrháři formulářů modelu Windows Forms poklepejte na formulář, který chcete otevřít v Editoru kódu.
Přidejte následující kód do obslužné rutiny události Form_Load:
DataRepeater1.AllowUserToAddItems = False DataRepeater1.AllowUserToDeleteItems = False BindingNavigatorAddNewItem.Enabled = False CustomersBindingSource.AllowNew = False BindingNavigatorDeleteItem.Enabled = False
dataRepeater1.AllowUserToAddItems = false; dataRepeater1.AllowUserToDeleteItems = false; bindingNavigatorAddNewItem.Enabled = false; customersBindingSource.AllowNew = false; bindingNavigatorDeleteItem.Enabled = false;
V rozevíracím seznamu Název tříd, klikněte na položku BindingNavigatorDeleteItem. V rozevíracím seznamu Názvy metod, klikněte na položku EnabledChanged.
Přidejte následující kód do obslužné rutiny události BindingNavigatorDeleteItem_EnabledChanged:
If BindingNavigatorDeleteItem.Enabled = True Then BindingNavigatorDeleteItem.Enabled = False End If
if (bindingNavigatorDeleteItem.Enabled == true) { bindingNavigatorDeleteItem.Enabled = false; }
Poznámka
Tento krok je nezbytný, protože BindingSource zpřístupní DeleteItem tlačítko pokaždé, když se změní aktuální záznam.
Stisknutím klávesy F5 spustíte aplikaci. Všimněte si, že tlačítko DeleteItem je zakázáno a položky nelze odstranit stisknutím klávesy DELETE.
Přidání funkcionality vyhledávání k ovládacím prvku DateRepeater.
V tomto volitelné kroku implementujete schopnost vyhledávání hodnoty v ovládacím prvku DataRepeater. Pokud je vyhledávaný řetězec nalezen, ovládací prvek vybere položku, která obsahuje hodnota a posune jí do zobrazovací oblasti.
Chcete-li přidat možnost vyhledávání
Přetáhněte ovládací prvek TextBox z Panel nástrojů do formuláře, který obsahuje ovládací prvek DataRepeater.
Umístěte jej pod ovládací prvek DataRepeater.
V okně Vlastnosti změňte vlastnost Název na SearchTextBox.
Přetáhněte ovládací prvek Button z Panel nástrojů do formuláře, který obsahuje ovládací prvek DataRepeater. Umístěte jej pod ovládací prvek DataRepeater.
V okně Vlastnosti změňte vlastnost Název na SearchButton. Změňte vlastnost Text na Search.
Dvakrát klikněte na ovládací prvek Button k otevření Editoru kódu a přidejte následující kód do do obslužné rutiny události SearchButton_Click:
Dim foundIndex As Integer Dim searchString As String searchString = SearchTextBox.Text ' Search for the string in the CustomerID field. foundIndex = CustomersBindingSource.Find("CustomerID", searchString) If foundIndex > -1 Then DataRepeater1.CurrentItemIndex = foundIndex Else MsgBox("Item " & searchString & " not found.") End If
int foundIndex; string searchString; searchString = searchTextBox.Text; // Search for the string in the CustomerID field. foundIndex = customersBindingSource.Find("CustomerID", searchString); if (foundIndex > -1) { dataRepeater1.CurrentItemIndex = foundIndex; } else { MessageBox.Show("Item " + searchString + " not found."); }
Stisknutím klávesy F5 spustíte aplikaci. Zadejte číslo zákazníka do SearchTextBox a klikněte naSearch tlačítko.
Přidání "Master a Detail" tabulky do ovládacího prvku DateRepeater.
V tomto volitelném kroku přidáte druhý ovládací prvek DataRepeater k zobrazení související objednávky pro každého zákazníka.
Chcete-li přidat "Master a Detail" tabulku
Přetáhněte druhý ovládací prvek DataRepeater z záložky PowerPacks jazyka Visual Basic v Panel nástrojů do formuláře.
V okně Vlastnosti nastavte vlastnost Location na 465, 25.
Nastavte vlastnost Size na hodnotu 315, 600.
V okně Zdroje dat rozbalte uzel Customers a vyberte uzel podrobností pro tabulku Orders.
Změňte typ tabulky Orders na Detail, kliknutím na tlačítko Detail v rozevíracím seznamu na uzlu tabulky.
Přetáhněte tento uzel tabulky Orders na oblast šablony položky v horní oblasti druhého ovládacího prvku DataRepeater.
Komponenty OrdersBindingSource a OrdersTableAdapter jsou přidány do pod-okno komponent.
Stisknutím klávesy F5 spustíte aplikaci. Když vyberete jakéhokoliv zákazníka v prvním ovládacím prvku DataRepeater, objednávky pro tohoto zákazníka jsou zobrazeny v druhém ovládacím prvku DataRepeater.
Viz také
Úkoly
Postupy: Jak zobrazit vázané data v ovládacím prvku DataRepeater (Visual Studio)
Postupy: Jak zobrazit nevázané data v ovládacím prvku DataRepeater (Visual Studio)
Postupy: Jak změnit rozložení ovládacího prvku DataRepeater (Visual Studio)
Postupy: Jak zobrazit záhlaví položka v ovládacím prvku DataRepeater (Visual Studio)
Postupy: Vyhledávání dat v ovládacím prvku DataRepeater (Visual Studio)
Postupy: Vytvořte "Master/Detail" pomocí dvou ovládacích prvků DataRepeater (Visual Studio)
Postupy: Jak změnit vzhled ovládacího prvku DataRepeater (Visual Studio)
Postupy: Jak vypnout možnost přidávání a odstraňování položek z DataRepeater (Visual Studio)
Řešení problému s ovládacím prvkem DataRepeater (Visual Studio)