2006-08-15, 00:37
#1
Har problem med att läsa in värde från en datagrid in i en sub och lyckas inte lösa detta. Kör jag med ett fast värde på variabeln i subben o skriver tillbaka denna till griden fungerar det men ej då jag först försöker hämta in värdet från griden till subben för att sedan manipulera o skriva tillbaka make sense? "läsningen" fungerar inte.
kod ur subben
Griden:
Tacksam för hjälp .. postar ogärna mer kod här public men kan ta mera i pm om det är nödvändigt.
felmesset jag får: System.NullReferenceException: Object variable or With block variable not set.
Stack Trace:
[NullReferenceException: Object variable or With block variable not set.]
Microsoft.VisualBasic.CompilerServices.LateBinding .LateIndexGet(Object o, Object[] args, String[] paramnames) +1238
ASP.shoptest_aspx.checknewprice(Object source, DataGridItemEventArgs e) in C:\BegASPNET\shoptest.aspx:187
System.Web.UI.WebControls.DataGrid.OnItemDataBound (DataGridItemEventArgs e) +110
System.Web.UI.WebControls.DataGrid.CreateItem(Int3 2 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) +181
System.Web.UI.WebControls.DataGrid.CreateControlHi erarchy(Boolean useDataSource) +1485
System.Web.UI.WebControls.BaseDataList.OnDataBindi ng(EventArgs e) +49
System.Web.UI.WebControls.BaseDataList.DataBind() +23
ASP.shoptest_aspx.page_load() in C:\BegASPNET\shoptest.aspx:99
System.Web.Util.ArglessEventHandlerDelegateProxy.C allback(Object sender, EventArgs e) +10
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731
kod ur subben
Kod:
pris=e.Item.DataItem("price") ' försöket att läsa in från kolumnen "price" 'pris=10 'pris=pris*proc 'e.Item.cells(6).text=pris ' skriver till samma tabell i griden när jag kör med fast värde (pris=10 ovan)
Griden:
Kod:
<asp:DataGrid id="temp" runat="server" DataKeyField="id" AutoGenerateColumns="False" OnItemDataBound="checknewprice" OnItemCommand="buy"> <Columns> <asp:BoundColumn HeaderText="Id" DataField="id"/> <asp:BoundColumn HeaderText="Name" DataField="namn"/> <asp:BoundColumn HeaderText="Minimum Damage" DataField="mindam"/> <asp:BoundColumn HeaderText="Maximum Damage" DataField="maxdam"/> <asp:BoundColumn HeaderText="Strenght Required" DataField="minstr"/> <asp:BoundColumn HeaderText="Class" DataField="class"/> <asp:BoundColumn HeaderText="Price" DataField="price"/> <asp:BoundColumn HeaderText="Amount" DataField="antal"/> <asp:ButtonColumn HeaderText="Buy" ButtonType="PushButton" Text="Buy" CommandName="buy" /> </Columns> </asp:DataGrid>
Tacksam för hjälp .. postar ogärna mer kod här public men kan ta mera i pm om det är nödvändigt.
felmesset jag får: System.NullReferenceException: Object variable or With block variable not set.
Stack Trace:
[NullReferenceException: Object variable or With block variable not set.]
Microsoft.VisualBasic.CompilerServices.LateBinding .LateIndexGet(Object o, Object[] args, String[] paramnames) +1238
ASP.shoptest_aspx.checknewprice(Object source, DataGridItemEventArgs e) in C:\BegASPNET\shoptest.aspx:187
System.Web.UI.WebControls.DataGrid.OnItemDataBound (DataGridItemEventArgs e) +110
System.Web.UI.WebControls.DataGrid.CreateItem(Int3 2 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) +181
System.Web.UI.WebControls.DataGrid.CreateControlHi erarchy(Boolean useDataSource) +1485
System.Web.UI.WebControls.BaseDataList.OnDataBindi ng(EventArgs e) +49
System.Web.UI.WebControls.BaseDataList.DataBind() +23
ASP.shoptest_aspx.page_load() in C:\BegASPNET\shoptest.aspx:99
System.Web.Util.ArglessEventHandlerDelegateProxy.C allback(Object sender, EventArgs e) +10
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731