nein paging hab ich auch nicht an
anbei der aufs wichtigste reduzierte code:
public void Update_gridSuchvorgaben(Object sender, DataGridCommandEventArgs e)
{
kdnr = Request.Form["InputKdnr"];
// hier taucht dann die out of range exeception auf
string id = (string)gridSuchvorgaben.DataKeys[(int)e.Item.ItemIndex];
TextBox anzeige = (TextBox)e.Item.Cells[0].FindControl("txtAnzeige");
TextBox wert = (TextBox)e.Item.Cells[0].FindControl("txtWert");
TextBox bedingung1 =
(TextBox)e.Item.Cells[0].FindControl("txtBedingung1");
TextBox wert1 = (TextBox)e.Item.Cells[0].FindControl("txtWert1");
TextBox bereich1 = (TextBox)e.Item.Cells[0].FindControl("txtBereich1");
TextBox bedingung2 =
(TextBox)e.Item.Cells[0].FindControl("txtBedingung2");
TextBox wert2 = (TextBox)e.Item.Cells[0].FindControl("txtWert2");
TextBox bereich2 = (TextBox)e.Item.Cells[0].FindControl("txtBereich2");
TextBox bedingung3 =
(TextBox)e.Item.Cells[0].FindControl("txtBedingung3");
TextBox wert3 = (TextBox)e.Item.Cells[0].FindControl("txtWert3");
TextBox bereich3 = (TextBox)e.Item.Cells[0].FindControl("txtBereich3");
TextBox bedingung4 =
(TextBox)e.Item.Cells[0].FindControl("txtBedingung4");
TextBox wert4 = (TextBox)e.Item.Cells[0].FindControl("txtWert4");
TextBox bereich4 = (TextBox)e.Item.Cells[0].FindControl("txtBereich4");
TextBox beschreibung =
(TextBox)e.Item.Cells[0].FindControl("txtBeschreibung");
TextBox izh = (TextBox)e.Item.Cells[0].FindControl("txtiZh");
TextBox ausschluss =
(TextBox)e.Item.Cells[0].FindControl("txtAusschluss");
DropDownList umfang =
(DropDownList)e.Item.Cells[0].FindControl("ddlUmfang");
DropDownList sensitivity =
(DropDownList)e.Item.Cells[0].FindControl("ddlSens");
short sens = 0;
if(sensitivity.SelectedItem.Value=="True")
sens = 1;
string sqlStichwortUpdate = "Update Test_suchvorgaben set Anzeige='" +
anzeige.Text.Trim() + "', Wert='" + wert.Text.Trim() + "', Bedingung1='" +
bedingung1.Text.Trim() + "', Bereich1=" + bereich1.Text.Trim() + ", Wert1='" +
wert.Text.Trim() + "', Bedingung2='" + bedingung1.Text.Trim() + "', Bereich2=" +
bereich1.Text.Trim() + ", Wert2='" + wert.Text.Trim() + "', Bedingung3='" +
bedingung1.Text.Trim() + "', Bereich3=" + bereich1.Text.Trim() + ", Wert3='" +
wert.Text.Trim() + "', Bedingung4='" + bedingung1.Text.Trim() + "', Bereich4=" +
bereich1.Text.Trim() + ", Wert4='" + wert.Text.Trim() + "', Beschreibung='" +
beschreibung.Text.Trim() + "', izh='" + izh.Text.Trim() + "', Ausschluss='" +
ausschluss.Text.Trim() + "', Umfang='" + umfang.SelectedItem.Value + "',
Sensitivity='" + sens + "', Aenderung='" + DateTime.Now + "', AnderungDurch='" +
initials + "' Where ID=" + id;
message.Text = sqlStichwortUpdate;
}
</script>
<html>
<head>
<link href="default.css" rel="stylesheet" />
</head>
<body>
<form runat="server">
<asp:DataGrid id="gridSuchvorgaben" runat="server"
HeaderStyle-Font-Bold="True" CellSpacing="1" Border="0" AutoGenerateColumns="False"
OnCancelCommand="Cancel_gridSuchvorgaben" OnUpdateCommand="Update_gridSuchvorgaben"
OnItemDataBound="ItemDataBound_gridSuchvorgaben" OnEditCommand="Edit_gridSuchvorgaben"
DataKey="ID">
<Columns>
<asp:TemplateColumn HeaderStyle-ForeColor="#c23636">
<HeaderTemplate>
<tr>
<td colspan="10">
<h1>Stichworte
</h1>
</td>
</tr>
<tr>
<td class="smallBezeichner">
Anzeige </td>
<td class="smallBezeichner">
SearchExpression </td>
<td class="smallBezeichner">
Details </td>
<td class="smallBezeichner">
Umfang </td>
<td class="smallBezeichner">
Sens </td>
<td class="smallBezeichner">
Eintrag </td>
<td class="smallBezeichner">
�nderung </td>
<td class="smallBezeichner">
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="smallDaten">
<%# DataBinder.Eval(Container.DataItem, "Anzeige")
%> </td>
<td class="smallDaten">
<%# DataBinder.Eval(Container.DataItem, "Wert")
%> <%# DataBinder.Eval(Container.DataItem, "Bedingung1") %> <%#
DataBinder.Eval(Container.DataItem, "Wert1") %> <%#
DataBinder.Eval(Container.DataItem, "Bereich1") %> <%#
DataBinder.Eval(Container.DataItem, "Bedingung2") %> <%#
DataBinder.Eval(Container.DataItem, "Wert2") %> <%#
DataBinder.Eval(Container.DataItem, "Bereich2") %> <%#
DataBinder.Eval(Container.DataItem, "Bedingung3") %> <%#
DataBinder.Eval(Container.DataItem, "Wert3") %> <%#
DataBinder.Eval(Container.DataItem, "Bereich3") %> <%#
DataBinder.Eval(Container.DataItem, "Bedingung4") %> <%#
DataBinder.Eval(Container.DataItem, "Wert4") %> <%#
DataBinder.Eval(Container.DataItem, "Bereich4") %>
</td>
<td class="smallDaten">
Beschreibung: <%#
DataBinder.Eval(Container.DataItem, "Beschreibung") %> <br />
izh: <%# DataBinder.Eval(Container.DataItem,
"izh") %> <br />
Ausschluss: <%#
DataBinder.Eval(Container.DataItem, "Ausschluss") %> </td>
<td class="smallDaten">
<%# DataBinder.Eval(Container.DataItem, "Umfang")
%> </td>
<td class="smallDaten">
<%# DataBinder.Eval(Container.DataItem,
"Sensitivity") %> </td>
<td class="smallDaten">
<%# DataBinder.Eval(Container.DataItem,
"Eintragung") %> <%# DataBinder.Eval(Container.DataItem, "Eintragungdurch")
%> </td>
<td class="smallDaten">
<%# DataBinder.Eval(Container.DataItem,
"Aenderung") %> <%# DataBinder.Eval(Container.DataItem, "Aenderungdurch")
%> </td>
<td class="smallDaten">
<asp:LinkButton id="button1" runat="server"
Text="Bearbeiten" CommandName="edit" />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr>
<td class="smallDaten">
<asp:TextBox Runat="server" class="Box" size="30"
ID="txtAnzeige" Text='<%# DataBinder.Eval(Container.DataItem, "Anzeige") %> ' />
</td>
<td class="smallDaten">
<asp:TextBox Runat="server" class="Box" size="30"
ID="txtWert" Text='<%# DataBinder.Eval(Container.DataItem, "Wert") %>' />
<br />
<asp:TextBox Runat="server" Width="12" class="Box"
size="30" ID="txtBedingung1" Text='<%# DataBinder.Eval(Container.DataItem,
"Bedingung1") %>' />
<asp:TextBox Runat="server" class="Box" size="30"
ID="txtWert1" Text='<%# DataBinder.Eval(Container.DataItem, "Wert1") %>' />
<asp:TextBox Runat="server" Width="24" class="Box"
size="30" ID="txtBereich1" Text='<%# DataBinder.Eval(Container.DataItem, "Bereich1")
%>' />
<br />
<asp:TextBox Runat="server" Width="12" class="Box"
size="30" ID="txtBedingung2" Text='<%# DataBinder.Eval(Container.DataItem,
"Bedingung2") %>' />
<asp:TextBox Runat="server" class="Box" size="30"
ID="txtWert2" Text='<%# DataBinder.Eval(Container.DataItem, "Wert2") %>' />
<asp:TextBox Runat="server" Width="24" class="Box"
size="30" ID="txtBereich2" Text='<%# DataBinder.Eval(Container.DataItem, "Bereich2")
%>' />
<br />
<asp:TextBox Runat="server" Width="12" class="Box"
size="30" ID="txtBedingung3" Text='<%# DataBinder.Eval(Container.DataItem,
"Bedingung3") %>' />
<asp:TextBox Runat="server" class="Box" size="30"
ID="Wert3" Text='<%# DataBinder.Eval(Container.DataItem, "Wert3") %>' />
<asp:TextBox Runat="server" Width="24" class="Box"
size="30" ID="txtBereich3" Text='<%# DataBinder.Eval(Container.DataItem, "Bereich3")
%>' />
<br />
<asp:TextBox Runat="server" Width="12" class="Box"
size="30" ID="txtBedingung4" Text='<%# DataBinder.Eval(Container.DataItem,
"Bedingung4") %>' />
<asp:TextBox Runat="server" class="Box" size="30"
ID="txtWert4" Text='<%# DataBinder.Eval(Container.DataItem, "Wert4") %>' />
<asp:TextBox Runat="server" Width="24" class="Box"
size="30" ID="txtBereich4" Text='<%# DataBinder.Eval(Container.DataItem, "Bereich4")
%>' />
</td>
<td class="smallDaten">
Beschreibung:<br />
<asp:TextBox Runat="server" class="Box" size="30"
ID="txtBeschreibung" Text='<%# DataBinder.Eval(Container.DataItem, "Beschreibung") %>'
/>
<br />
iZh:<br />
<asp:TextBox Runat="server" class="Box" size="30"
ID="txtizH" Text='<%# DataBinder.Eval(Container.DataItem, "izh") %>' />
<br />
Ausschluss:<br />
<asp:TextBox Runat="server" class="Box" size="30"
ID="txtAusschluss" Text='<%# DataBinder.Eval(Container.DataItem, "Ausschluss") %>' />
</td>
<td class="smallDaten">
<asp:dropdownlist id="ddlUmfang" runat="server"
class="Box" Value='<%# DataBinder.Eval(Container.DataItem, "Umfang") %>' />
</td>
<td class="smallDaten">
<asp:dropdownlist id="ddlSens" class="Box"
runat="server" />
</td>
<td class="smallDaten">
<%# DataBinder.Eval(Container.DataItem,
"Eintragung") %> <%# DataBinder.Eval(Container.DataItem, "Eintragungdurch")
%> </td>
<td class="smallDaten">
<%# DataBinder.Eval(Container.DataItem,
"Aenderung") %> <%# DataBinder.Eval(Container.DataItem, "Aenderungdurch")
%> </td>
<td class="smallDaten">
<asp:LinkButton runat="server"
Text="Aktualisieren" CommandName="update" />
<br />
<asp:LinkButton runat="server" Text="Abbrechen"
CommandName="cancel" />
</td>
</tr>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
-----Urspr�ngliche Nachricht-----
Von: Andre Seifert [mailto:[EMAIL PROTECTED]]
Gesendet: Dienstag, 24. September 2002 18:53
An: aspDEdotnet
Betreff: [aspdedotnet] AW: DataKey im Datagrid
Verwendest Du Paging? Dann musst Du n�mlich erst umrechnen.
Sonst poste doch mal die aspx und aspx.cs
>> -----Urspr�ngliche Nachricht-----
>> Von: [EMAIL PROTECTED] [mailto:bounce-
>> [EMAIL PROTECTED]] Im Auftrag von Gerald B�ck
>> Gesendet: Dienstag, 24. September 2002 09:07
>> An: aspDEdotnet
>> Betreff: [aspdedotnet] AW: DataKey im Datagrid
>>
>> hab ich vergessen zu schreiben
>>
>> string id = (string)gridSuchvorgaben.DataKeys[(int)e.Item.ItemIndex];
>>
>> ergibt leider die selbe fehlermeldung
>>
>> System.ArgumentOutOfRangeException: Der Index liegt au�erhalb des
>> g�ltigen Bereichs. Der Index darf keine negative Zahl und muss
kleiner
>> als die Auflistungsgr��e sein. Parametername: index
>>
>> -----Urspr�ngliche Nachricht-----
>> Von: Pessner, Andreas [mailto:[EMAIL PROTECTED]]
>> Gesendet: Dienstag, 24. September 2002 08:10
>> An: aspDEdotnet
>> Betreff: [aspdedotnet] AW: DataKey im Datagrid
>>
>>
>> Hol Dir das ganze doch erstmal in einen String rein - den Du Dir dann
>> erstmal ausgibtst - dann siehst Du auch erstmal was da drin steht -
und
>> findest den Fehler vielleicht eher.
>>
>> -----Urspr�ngliche Nachricht-----
>> Von: Gerald B�ck [mailto:[EMAIL PROTECTED]]
>> Gesendet: Montag, 23. September 2002 23:27
>> An: aspDEdotnet
>> Betreff: [aspdedotnet] AW: DataKey im Datagrid
>>
>>
>> leider nicht wenn ich
>>
>> int id = (int)e.Item.ItemIndex;
>>
>> ausf�hre kommt eine ganze, positive Zahl ohne Fehler raus.
>>
>> -----Urspr�ngliche Nachricht-----
>> Von: Joachim van de Bruck [mailto:[EMAIL PROTECTED]]
>> Gesendet: Montag, 23. September 2002 23:22
>> An: aspDEdotnet
>> Betreff: [aspdedotnet] AW: DataKey im Datagrid
>>
>>
>> Hallo!
>>
>> > Das Auf�hren dieser Codezeile
>> >
>> > int id = (int)gridSuchvorgaben.DataKeys[(int)e.Item.ItemIndex];
>> >
>> > verursacht folgenden Fehler:
>> >
>> > System.ArgumentOutOfRangeException: Der Index liegt au�erhalb
>> > des g�ltigen Bereichs. Der Index darf keine negative Zahl und
>> > muss kleiner als die Auflistungsgr��e sein. Parametername: index
>> >
>> > Ich komm aber einfach nicht drauf worn es liegen k�nnte.
>> > e.Item.ItemIndex funktioniert jedenfalls ud gibt einen
>> > integer wert zur�ck.
>>
>> Kann es sein, dass Du diese Zeile grunds�tzlich und nicht abh�ngig
von
>> einem Edit-, Update- oder Delete-Event ausf�hrst? Der ItemIndex ist
>> n�mlich negativ (-1), wenn keine Zeile bearbeitet wird.
>>
>> Freundliche Gr��e
>> Joachim van de Bruck
>>
>>
>> | [aspdedotnet] als [EMAIL PROTECTED] subscribed
>> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
>> | Sie k�nnen sich unter folgender URL an- und abmelden:
>> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
>>
>> | [aspdedotnet] als [EMAIL PROTECTED] subscribed
>> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
>> | Sie k�nnen sich unter folgender URL an- und abmelden:
>> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
>>
>> | [aspdedotnet] als [EMAIL PROTECTED] subscribed
>> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
>> | Sie k�nnen sich unter folgender URL an- und abmelden:
>> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
>>
>> | [aspdedotnet] als [EMAIL PROTECTED] subscribed
>> | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
>> | Sie k�nnen sich unter folgender URL an- und abmelden:
>> | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
| [aspdedotnet] als [EMAIL PROTECTED] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp
| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp