Chyba: Ovládací prvek DataGrid webového serveru obtéká při vlastnost ItemStyle hraniční nebo hraniční HeaderStyle vlastnost nastavena na hodnotu false v jazyce Visual Basic .NET

Microsoft Visual C# .NET verzi tohoto článku naleznete v 324165 .


Tento článek odkazuje na následující obor názvů knihovny tříd rozhraní.NET Framework společnosti Microsoft:
  • System.Data.SqlClient

Příznaky

Pokud HeaderStyle hraniční nebo Hraniční ItemStyle vlastnost nastavte na hodnotu False, data stále obalena ve sloupcích webový ovládací prvek DataGrid .

Příčina

Funkce obtékání dochází pro každou buňku, nikoli pro každý řádek DataGrid. Proto pokud jste nastavili funkci zalamování pro všechny DataGrid, není zakázána funkce obtékání textu pro každý řádek nebo sloupec.

Řešení

Chcete-li tento problém vyřešit, zajistěte každý sloupec DataGrid Hraniční ItemStyle vlastnosti explicitně nastaveny na False takto:
<ItemStyle Wrap="False"></ItemStyle>
Webový ovládací prvek DataGrid je nutné vytvořit tak, že jsou jednotlivě přidány sloupce vázaného DataGrid . Pro každý sloupec, klepněte na tlačítko Vymazat
Zaškrtnutí políčka Zalomit text v buňce jeho záhlaví, zápatí jeho a jeho položka objekty podle potřeby. Chcete-li to provést, postupujte takto:
  1. Takto vytvořit nové ASP.NET webové aplikace:
    1. Spusťte aplikaci Visual Studio .NET.
    2. V nabídce soubor přejděte na příkaz Nový a klepněte na příkaz projekt.
    3. V dialogovém okně Nový projekt klepněte na tlačítko Projekty jazyka Visual Basic v části Typy projektua klepněte na Webovou aplikaci ASP.NET v části šablony.
    4. V poli umístění nahradíte výchozí název WebApplication# DataGridApp. Pokud používáte místní server, můžete ponechat název serveru jako http://localhost. Výsledné pole umístění se zobrazí takto:
      http://localhost/DataGridApp
  2. V Průzkumníku řešení klepněte pravým tlačítkem myši WebForm1.aspxklepněte na příkaz Přejmenovata potom zadejte WrapTest.aspx.
  3. V návrhovém zobrazení přetáhněte webový ovládací prvek DataGrid z panelu nástrojů do webového formuláře.
  4. V Průzkumníku řešení klikněte pravým tlačítkem myši na soubor WrapTest.aspx a potom klepněte na tlačítko Zobrazit kód.
  5. Přidejte následující kód v souboru WrapTest.aspx.vb těsně před "oboru názvů DataGridApp":
    Imports System.Data.SqlClient
  6. Přidejte následující kód do obslužné rutiny události Page_Load :
     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        'Add user code to initialize the page here.
    If Not IsPostBack Then
    Dim conn As New SqlConnection("server=localhost;User ID=sa;Password=password;Initial Catalog=northwind;")
    Dim da As New SqlDataAdapter("select * from customers", conn)
    Dim ds As New DataSet()
    da.Fill(ds, "customers")
    DataGrid1.DataSource = ds
    DataGrid1.DataBind()
    conn.Close()
    ds = Nothing
    conn = Nothing
    End If
    End Sub
    Poznámka: Je třeba upravit připojovací řetězec v závislosti na nastavení systémové databáze.
  7. V Průzkumníku řešení klikněte pravým tlačítkem myši na soubor WrapTest.aspx a potom klepněte na tlačítko Návrhář zobrazení.
  8. Klepněte pravým tlačítkem myši ovládací prvek DataGrid a potom klepněte na tlačítko Tvůrce vlastností.
  9. V levém podokně klepněte na příkaz sloupce a zrušte zaškrtnutí políčka vytvořit sloupce automaticky za běhu .
  10. Postupujte takto Chcete-li přidat všechny sloupce explicitně:
    1. V seznamu Dostupné sloupce klepněte na Sloupec vázána pak převést tento sloupec do seznamu Vybrané sloupce v pravém podokně.
    2. Zadejte ID zákazníka v
      Text záhlaví a poté zadejte
      V poli Datové pole KódZákazníka .
    3. V levém podokně klepněte na tlačítko Formát . Ve skupinovém rámečku objektyrozbalte sloupce a sloupec [0]a pak vyberte objekty (záhlaví, položky, zápatí), které chcete zakázat zalamování textu. Zrušte zaškrtnutí políčka Zalomit text v buňce a potom klepněte na tlačítko použít.
    4. Opakujte kroky 10a až 10c, chcete-li vytvořit další sloupce vázaného na data za sebou. Zadejte do pole Datové pole CompanyName
      Kontakt, funkce
      Adresaa Město. Ujistěte se, klepnutím zrušte zaškrtnutí políčka Zalomit text v buňce pro každý sloupec.
    5. Klepněte na tlačítko OK v dialogovém okně Vlastnosti DataGrid1 .

      Poznámka: Názvy sloupců ve skupinovém rámečku funkce Format budou zobrazeny jako sloupce [1], [2] sloupec a tak dále, pokud přidat další sloupce. Poslední kód HTML pro ovládací prvek DataGrid1 zobrazen následujícím způsobem:
      <asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False">    <Columns>
      <asp:BoundColumn DataField="CustomerID" HeaderText="Customer ID">
      <ItemStyle Wrap="False"></ItemStyle>
      </asp:BoundColumn>
      <asp:BoundColumn DataField="CompanyName" HeaderText="Company Name">
      <ItemStyle Wrap="False"></ItemStyle>
      </asp:BoundColumn>
      <asp:BoundColumn DataField="ContactTitle" HeaderText="Contact Title">
      <ItemStyle Wrap="False"></ItemStyle>
      </asp:BoundColumn>
      <asp:BoundColumn DataField="Address" HeaderText="Address">
      <ItemStyle Wrap="False"></ItemStyle>
      </asp:BoundColumn>
      <asp:BoundColumn DataField="City" HeaderText="City">
      <ItemStyle Wrap="False"></ItemStyle>
      </asp:BoundColumn>
      </Columns>
      </asp:datagrid>
  11. Uložte všechny soubory.
  12. Sestavte řešení.
  13. WrapTest.aspx stránku zobrazte v prohlížeči. Všimněte si, že text ve sloupcích DataGrid neobtékal.

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Odkazy

Další informace o vazby na data v technologii ASP.NET klepněte na následující číslo článku databáze Microsoft Knowledge Base:

307860 INFO: Přehled vazby dat ASP.NET

Další informace o vazby na data v technologii ASP.NET naleznete na následujícím webu společnosti Microsoft:
Vlastnosti

ID článku: 323169 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor