Jag har en datagrid som spottar fram en massa textboxar. Dessa textboxar får sina värden från underliggande objekt, som i sin tu får värden från databas. Om värdena är 0 (std värdet i db) vill jag att textboxen skall vara tom. String.Trim ja, men hur implementerar jag det på textboxar skapade av datagridden? Måste jag iterera igenom alla textboxar innan databind()? Isåfall hur fångar jag upp textboxarna i koden och kör ex string.trim eller en replace? Värdet som kommer från underliggande objewkt är av typen Decimal så där kan jag inte returnera null om det är 0. Kan du inte ta bort Nollorna direkt i SQL-satsen? Det underliggande objektet som datagriden kopplas till har ett antal publika egenskapr av typen decimal. Dessa egenskaper får sitt värde från db (mysql). Egenskaperna kan inte vara null eller något annat förutom ett decimaltal. Decimal är ju inte en referensdatatyp. Alltså måste värdena vara 0 eller något annat tal. Om fallet är 0 vill jag inte att det skall skrivas något i textboxarna. Lösnigen då: Hej finns ett itemdatabound event som körs för varje objekt som binds i ditt objekt som databinds Verkar vara ett alternativ. Frågan är då: villket skall man använda sig av? Skillnader i prestanda? Vore intressant att få kommentarer på detta. Är ju ganska vanligt att man vill förändra något i en datagrid etc. sen kan du kanske casea sqlfrågan så den returnerar " " istället för 0 Nix, det är ju decimals jag håller på med. De initieras till 0.00m i objektet.Ta bort tecken i textboxar i en datagrid
Fråga: Hur trimmar jag bort eventuella 0:or?Sv:Ta bort tecken i textboxar i en datagrid
Sv: Ta bort tecken i textboxar i en datagrid
select col1, col2, CASE WHEN (col3 = 0) THEN ('') ELSE (col3) END AS col3
from tabell
// DavidSv:Ta bort tecken i textboxar i en datagrid
Lite klurigt detta. JAg måste på något sätt manipulera datagriddens textboxar efter att databind() har körts.Sv: Ta bort tecken i textboxar i en datagrid
<code>
TextBox myTextBox;
int i = 0;
foreach(DataGridItem dgi in this.Grid1.Items)
{
for(i= 1;i<14;i++)
{
myTextBox = (TextBox) (dgi.Cells[i].Controls[1]);
if(myTextBox.Text == "0")
{
myTextBox.Text = "";
}
}
}
</code>
efter databind() måste det ske.
Någon som vet en renare och effektivare lösning? Välkommen med förslag!Sv:Ta bort tecken i textboxar i en datagrid
Finns det möjlighet att ärva av DataGridTextBoxColumn i asp.net?
Isf kanske det kan vara en annan lösning, då det funkar i winforms.
/ PeterSv: Ta bort tecken i textboxar i en datagrid
Private Sub minlista_ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.vad det nu var du band) Handles minlista.ItemDataBound
if CType(e.Item.DataItem,textbox).text ="0" then
CType(e.Item.DataItem,textbox).text = ""
end if
end sub
(om du hajjar vb dårå ;)Sv:Ta bort tecken i textboxar i en datagrid
Sv: Ta bort tecken i textboxar i en datagrid
Sv:Ta bort tecken i textboxar i en datagrid