2013-01-16 9 views
23

Recentemente stavo indagando su questa domanda: Storing long values in DataGridView C#. Dopo alcuni test ho scoperto che lo DataGridViewCell non visualizzerà alcun testo con una lunghezza maggiore di caratteri, anche se il valore è effettivamente memorizzato nella cella ed è possibile accedervi a livello di programmazione.43679 è un numero magico?

In realtà, questo è stato segnalato anche come bug per SQL Server Management Studio: SSMS - Can not paste more than 43679 characters from a column in Grid Mode.

Immagino che il limite abbia lo scopo di prevenire sovraccarichi sul rendering dell'interfaccia utente. Ma le mie domande sono:

  1. Perché si utilizza questo valore esatto?
  2. Esiste documentazione per questo limite?
+8

* dividere per ... no, moltiplicare per .. forse in esadecimale, radice quadrata di .. portare il 1, no ... compleanno di qualcuno * * * NO IDEA. ** – Rotem

+15

Il limite esclusivo superiore è ** 43680 **. Che è ** 10920 * 4 **. Un bug relativo a un limite 10919 è stato collegato a Vista da Microsoft: [SSMS: Grid non visualizzerà> 10,919 caratteri da VARBINARY (MAX)] (http://connect.microsoft.com/SQLServer/feedback/details/344117/ssms- grid-will-not-display-10-919-caratteri-da-varbinary-max) –

+1

vedere http://stackoverflow.com/questions/2759721/how-do-i-view-the-full-content-of- a-text-or-varcharmax-column-in-sql-server-20 –

risposta

8

Se convertire 43679 in esadecimale, è 0xAAA0. O nella forma inversa 0xAAA0 = 0xFFFF - 0x555F.

0x555F è il codice del simbolo Unicode cinese 'open; begin'. Potrebbe essere un messaggio cinese o qualche tipo di magia cinese)

+3

lol, magia cinese .... –

Problemi correlati