Frågan#1
Har en datagrid med följande utseende
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="<img src=images/ok.gif border=0 Alt='Ok'>"
CancelText="<img src=images/delete.gif border=0 Alt='Cancel'>" EditText="<img src=Images/edit.gif border=0">
<ItemStyle Width="15px"></ItemStyle>
</asp:EditCommandColumn>
<asp:ButtonColumn Text="<img src=images/delete.gif border=0 Alt='Delete'" CommandName="delete">
<ItemStyle Width="15px"></ItemStyle>
</asp:ButtonColumn>
<asp:BoundColumn DataField="QuestionID" SortExpression="QuestionID" ReadOnly="True" HeaderText="id">
<ItemStyle Wrap="False"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn SortExpression="Topic" HeaderText="Fråga">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label Runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Topic")%>' Width=600 ID="lblTopic"/>
</td>
</tr>
<tr>
<td>
<asp:RadioButton id="rbKan" runat="server" GroupName="Svar" Text="Kan"></asp:RadioButton>
<asp:RadioButton id="rbKanDelvis" runat="server" GroupName="Svar" Text="Delvis"></asp:RadioButton>
<asp:RadioButton id="rbKanInte" runat="server" GroupName="Svar" Text="Inte alls"></asp:RadioButton>
</td>
</tr>
<tr>
<td>
Kommentar<br>
<asp:textbox id="tbKommentar" runat="server" Width="506px" Rows="3" Height="50px" TextMode="MultiLine"></asp:textbox>
</td>
</tr>
</table>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="EditTopic" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Topic")%>' Width=600/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
Den går ut på att det presenteras ett frågeformulär som användaren skall svara på.
När användaren sedan klickar på spara så skall hela DagaGriden skrivas mot en databas mha att gå igenom datasetet rad för rad:
i aspx.cs filen
private void btSave_Click(object sender, System.EventArgs e)
{
lblError.Visible=true; //för kontroll
string test=""; //för kontroll
foreach(DataGridItem dataGridItem in DataGridTrace.Items)
{
int QuestionID = Convert.ToInt32(DataGridTrace.DataKeys[dataGridItem.ItemIndex]);
TextBox Test = ((TextBox)DataGridTrace.FindControl("tbKommentar"));
test = Test.Text+ "2"; //för kontroll
lblError.Text += QuestionID.ToString() + ", " +test + "<br>";
}
}
Jag får ut QuestionID, där är inga problem men när jag vill få ut vad textBoxen tbKommentar innehåller så fungerar det inte, samma gäller mina radiobuttons.
Vad gör jag för fel?