webForumDet fria alternativet

Problem med edit o delete i gridview

.NETur .NET

2 svar · 401 visningar · startad av Runken

Medlem sedan apr. 200336 inlägg
Frågan#1

Hej!

Använder två dropdownmenyer för att göra urval och presentera data i en gridview. Från menyerna fås två nycklar till en lagrad procedur som presenterar innehållet i griden. Som det är nu lagrar jag värdena från nycklarna (sammanlagt 3st) i labels (då jag av nån anledning inte får med värdena till edit, delete). Detta fungerar men jag vill ha dessa kolumner dolda och då får jag inte med värdet på nycklarna. Detta är säkert väldigt vanligt men eftersom jag inte alls är hemma på detta har det satt käppar i hjulet för mig. Kodfilen för edit är i vb och ser ut som följer:

Protected Sub GV_PriceList_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GV_PriceList.RowEditing
        Dim ProdID As String = GV_PriceList.Rows(e.NewEditIndex).Cells(1).Text()
        Me.lblTmp.Text = ProdID
        Dim SawID As String = GV_PriceList.Rows(e.NewEditIndex).Cells(0).Text()
        Me.lblTmp1.Text = SawID

        'Dim t As String = DataBinder.Eval(GV_PriceList.Rows(0).DataItem, "PlantCode")
        'Dim tmp As String = DataBinder.Eval(GV_PriceList.Rows(e.NewEditIndex).DataItem, "PlantCode")
End Sub

De sista två raderna är mina försök att få det att fungera utan att lyckas.

aspx-filen:

<asp:GridView ID="GV_PriceList" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDS_GV_PriceList">
            <Columns>
                <asp:BoundField DataField="PlantCode" HeaderText="PlantCode" ReadOnly="True" SortExpression="PlantCode" />
                <asp:BoundField DataField="ProductId" HeaderText="ProductId" ReadOnly="True" SortExpression="ProductId" />
                <asp:BoundField DataField="PeriodId" HeaderText="PeriodId" ReadOnly="True" SortExpression="PeriodId" Visible="False" />
                <asp:BoundField DataField="Verk" HeaderText="Verk" SortExpression="Verk" ReadOnly="True" Visible="False" />
                <asp:BoundField DataField="VerkKortnamn" HeaderText="VerkKortnamn" SortExpression="VerkKortnamn" ReadOnly="True" />
                <asp:BoundField DataField="ShortDescription" HeaderText="ShortDescription" SortExpression="ShortDescription" ReadOnly="True" />
                <asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" ReadOnly="True" />
                <asp:BoundField DataField="Price" HeaderText="Price" SortExpression="Price" />
                <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDS_GV_PriceList" runat="server" ConnectionString="<%$ ConnectionStrings:masterConnectionString %>" InsertCommand="IUPriceList"
            InsertCommandType="StoredProcedure" SelectCommand="SPriceList" SelectCommandType="StoredProcedure"
            UpdateCommand="IUPriceList" UpdateCommandType="StoredProcedure" DeleteCommand="DPriceList" DeleteCommandType="StoredProcedure">

            <UpdateParameters>
                <asp:ControlParameter ControlID="lblTmp" DefaultValue="" Name="ProductId" PropertyName="Text" Type="Int32" />
                <asp:ControlParameter ControlID="DDL_PL" Name="SMId" PropertyName="SelectedValue" Type="Int32" />
                <asp:ControlParameter ControlID="DDL_CP_PL" Name="PeriodId" PropertyName="SelectedValue" Type="Int32" />
                <asp:Parameter Name="Price" Type="Double" />
            </UpdateParameters>
            <SelectParameters>
                <asp:ControlParameter ControlID="DDL_CP_PL" Name="PeriodId" PropertyName="SelectedValue"
                    Type="Int32" />
                <asp:ControlParameter ControlID="DDL_PL" Name="PlantCode" PropertyName="SelectedValue"
                    Type="String" />
            </SelectParameters>
            <InsertParameters>
                <asp:Parameter Name="ProductId" Type="Int32" />
                <asp:Parameter Name="SMId" Type="String" />
                <asp:Parameter Name="PeriodId" Type="Int32" />
                <asp:Parameter Name="Price" Type="Double" />
            </InsertParameters>
            <DeleteParameters>
                <asp:ControlParameter ControlID="lblTmp" DefaultValue="" Name="ProductId" PropertyName="Text" Type="Int32" />
                <asp:ControlParameter ControlID="DDL_PL" Name="SMId" PropertyName="SelectedValue"
                    Type="String" />
                <asp:ControlParameter ControlID="DDL_CP_PL" Name="PeriodId" PropertyName="SelectedValue"
                    Type="Int32" />
            </DeleteParameters>
        </asp:SqlDataSource>
        <asp:Label ID="lblTmp" runat="server" Text="Label"></asp:Label>
        <asp:Label ID="lblTmp1" runat="server" Text="Label"></asp:Label>
        <asp:Label ID="lblTmp2" runat="server" Text="Label" Visible="False"></asp:Label>

Hur får jag detta att fungera i edit och delete?

Mkt tacksam för svar /R

Medlem sedan maj 20012 812 inlägg
#2

Jag förstod inte riktigt vad du menade, men om du kan lägga dina värden (som du nu lägger i labels) direkt i Viewstaten eller i en session och så kan du får tag i dessa vid en postback.

Själv brukar jag lägga ID som attributer på den knappar som skall genererar postbacken, eftersom knappen skickas med som objekt till eventmetoden så kan man enkelt hämta ut id där:

Lägg in.

editButton.Attributes.Add("ID","10");

Hämta ut

int id = int.parse(((Buttom)sender).Attrivutes["ID"]);

- M

Medlem sedan apr. 200336 inlägg
#3

Tack så mkt för svaret!

Förstod knappt själv vad jag menade :) men har i af löst det nu. Fick inte med värdet från en nyckel till edit och delete och trodde då att det var jag som inte visste hur man hämtade värdet. Tror istället att felet var att jag inte hade satt den som datakey. Är så när man ska klåpa med sånt man egentligen inte förstår sig på :) Fungerar nu i a f.

Vänliga hälsningar /R

137 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)