Har ett par problem med GridView:n den översta(1) är löst genom att lägga eventet onClick på knappen :Dproblem med GridView & CheckBox
<code>
<asp:GridView
ID="gvFile"
CssClass="adminFileList"
AlternatingRowStyle-CssClass="oddRow adminFileListRow"
AutoGenerateColumns="False"
RowStyle-CssClass="adminFileListRow"
EmptyDataText="Finns inga filer att visa"
EmptyDataRowStyle-CssClass="adminFileListEmpty"
runat="server"
OnRowCommand="gvFile_RowCommand"
OnDataBound="gvFile_DataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkChecked" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="adminFileName" HeaderText="Filnamn">
<ItemTemplate>
<asp:LinkButton
ID="lbtnFile"
runat="server"
Text='<%# Eval("Name") %>'
ToolTip='<%# Eval("Name") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="adminFileMeny">
<ItemTemplate>
<asp:ImageButton
ID="ibtnDelete"
CommandName="Delete"
toolTip="Ta bort"
CausesValidation="false"
CommandArgument='<%# Eval("Name") %>'
ImageUrl="~/bilder/filemanager/del.gif"
runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</code>
1.
När man klickar på delete ska den raden tas bort, men följande kod vill inte fungera:
<code>
protected void gvFile_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
String lnkName = e.CommandArgument.ToString();
File.Delete(Path.Combine(GetFolderPath(), lnkName));
BindGrid();
}
}
</code>
Den går inte in i gvFile_RowCommand när man klickar på knappen ta bort. Vad kan det vara för fel?
2.
Jag vill ta bort de rader som kryssrutan är förkryssad.
Följande anropas när jag klickar på knappen:
<code>
protected void lbtnDelete_Click(object sender, EventArgs e)
{
try
{
foreach (GridViewRow gvr in gvFile.Rows)
{
CheckBox chkChecked = (CheckBox)gvr.FindControl("chkChecked");
if (chkChecked.Checked)
{
DeleteRow(gvr);
}
}
BindGrid();
}
catch (Exception ex)
{
lblMsg.Text = ex.Message;
lblMsg.CssClass = "error";
}
}
private void DeleteRow(GridViewRow e)
{
LinkButton lnkName = (LinkButton)e.FindControl("lbtnFile");
File.Delete(Path.Combine(GetFolderPath(), lnkName.Text));
}
</code>
Men den går aldrig in i if (chkChecked.Checked).
Tacksam för all hjälp Sv: problem med GridView & CheckBox
problem 2 var en postback som förstörde allt