Hej! Jag löste det själv medCheckbox i gridview - Radera markerade
Jag har lagt till en checkbox i en gridview. Nu vill jag kunna markera vissa radera och sedan klicka på en knapp som sedan radera valda poster....
Jag har tagit en del kod från en annan tråd, men där valde man en annan lösning..
HUr skall jag göra för att fånga upp ID numret (DataKeyNames="id") på den rad som är markerad?
Här är min kod:
gridviewn:
<code>
asp:GridView ID="GridView2" runat="server" AllowPaging="True"
AutoGenerateColumns="False" CellPadding="4" CellSpacing="1" CssClass="Grid" DataKeyNames="id"
Font-Names="Verdana" Font-Size="8pt" ForeColor="#333333" GridLines="None" Height="1px"
OnPageIndexChanging="GridView2_PageIndexChanging" OnRowCommand="GridView2_RowCommand"
PageSize="30" SelectedRowStyle-CssClass="selectedRow" Width="741px">
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkChecked" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="30px" />
</asp:TemplateField>
<asp:BoundField DataField="regtime" HeaderText="Registrerad">
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" Width="150px"/>
</asp:BoundField>
<asp:TemplateField HeaderText="Namn">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("name") %>' ToolTip='<%# Bind("comments") %>' ></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" Width="150px" />
</asp:TemplateField>
<asp:BoundField DataField="club" HeaderText="Klubb">
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" Width="200px" />
</asp:BoundField>
<asp:BoundField DataField="ipnumber" HeaderText="Ipnummer">
<ItemStyle HorizontalAlign="Left" Width="120px" />
</asp:BoundField>
</Columns>
<FooterStyle BackColor="#5D7B9D" CssClass="Grid" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="Black" Height="10px" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#E2DED6" CssClass="selectedRow" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle Font-Bold="True" ForeColor="Black" HorizontalAlign="Left" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<PagerSettings Mode="NextPreviousFirstLast" />
</asp:GridView>
</code>
Codebehind:
<code>
protected void cmdDeleteAll_Click(object sender, EventArgs e)
{
try
{
foreach (GridViewRow gvr in GridView2.Rows)
{
CheckBox chkChecked = (CheckBox)gvr.FindControl("chkChecked");
if (chkChecked.Checked)
{
DeleteRow(gvr);
}
}
BindGrid();
}
catch (Exception ex)
{
Label1.Text = ex.Message;
Label1.Visible = true;
}
}
</code>
<code>
private void DeleteRow(GridViewRow e)
{
}
</code>
/TyronneSv: Checkbox i gridview - Radera markerade
<code>
foreach (GridViewRow gvr in GridView2.Rows)
{
CheckBox chkChecked = (CheckBox)gvr.FindControl("chkChecked");
string rIndex = GridView2.DataKeys[gvr.RowIndex]["id"].ToString() ;
if (chkChecked.Checked)
{
DeleteRow(int.Parse(rIndex));
}
}
</code>
dvs med string rIndex = GridView2.DataKeys[gvr.RowIndex]["id"].ToString() ;
så fick jag ut idnumret
/Tyronne