29. februar 2004 - 16:39Der er
6 kommentarer og 1 løsning
datagrid event
Hejsa,
Jeg har på en webform lavet et datagrid med nogle produktdata, men jeg vil gerne have at man i sidste kolonne kan vælge produktet. Så der har jeg lavet en
<asp:ButtonColumn Text="Add to favorits" CommandName="test"></asp:ButtonColumn>
Men hvordan trigger jeg det event i min behind code?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Istedet for ButtonColumn anvender du en TemplateColumn. I dens ItemTemplate laegger du en button. Du binder en handler op paa ItemDataBound eventen paa dit grid (attributten OnItemDataBound) I metoden som kaldes paa OnItemDataBound saetter du feks. CommandArgument paa din button i din TemplateColumn til at vaere identisk med dit produktIndeks og du binder en eventhandler op paa button's command event. I metoden der svarer paa din button's command event har du adgang til CommandArgument som indeholder det valgte produktIndeks.
private void dataGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { // e.Item is the row of the table where the button was // clicked. string productID = e.Item.Cells[2].Text;
if (e.CommandName == "AddToCart") { // Add code here to add the productID item to the cart. } dataGrid.DataBind(); }
1. sikre dig at OnItemCommand paa dit datagrid er bundet op til "dataGrid_ItemCommand" metoden. 2. saette commandname-attributen paa din buttoncolumn...
btw... jeg har erfaring med at frameworket ikke bryder sig om at man baade definerer eventhandlers deklarativt (feks. paa ASPX siden) og paa ens codebehind. Det er derfor en god ide at sikre sig at man ikke goer dette. Personligt synes jeg CodeBehind modellen er at foretraekke, men der er da saamaend ogsaa gode argumenter for at goere det deklarativt...
anyways... dette er et svar...
/ DP
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.