を削除します。GridViewのは、私が削除テンプレートフィールドでGridViewコントロールを持って再結合しない
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:GridView ID="gvCurrentDay" CssClass="gridview" OnRowCommand="gvCurrentDay_RowCommand" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:BoundField DataField="ClientName" HeaderText="Client" />
<asp:BoundField DataField="ProjectTitle" HeaderText="Project" />
<asp:BoundField DataField="TimeToAdd" HeaderText="Time Allocated" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:ImageButton ID="imbDeleteRow" ImageUrl="~/images/icons/DeleteRed.png" CommandArgument='<%# Eval("RecordID") %>' CommandName="Delete" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
をコードでは、ボタンが押されたとデータベースエントリがデータベースから削除されたときに実行されますが、
protected void gvCurrentDay_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
int RecordID = Convert.ToInt32(e.CommandArgument);
tdl objTdl = new tdl();
objTdl.DeleteEntryForDay(RecordID);
GetItineryForDay(Convert.ToDateTime(txtCalendar.Text));
lblMessages.Text = "Entry removed";
}
}
そして、ここではGetItineryForDay手順の最初の部分である:
GridViewのは、削除を制御するコードがあり、ここで、再バインドされていませんprotected void GetItineryForDay(DateTime SelectedDate)
{
gvCurrentDay.DataSource = null;
gvCurrentDay.DataBind();
tdl objTdl = new tdl();
DataTable dt = objTdl.GetUsersProjectTimeForDay(SelectedDate, Convert.ToInt32(Request.Cookies["staffid"].Value));
if (dt.Rows.Count > 0)
{
DataRow row = dt.Rows[0];
int TotalTime2 = Convert.ToInt32(row[7]);
string TotalTime = row[7].ToString() + " minutes";
gvCurrentDay.DataSource = dt;
gvCurrentDay.DataBind();
GridViewが更新されていない理由をコードから確認できますか? GridViewはUpdatePanelの中にあります。
あなたは 'dt.Rows.Count'が0より大きい場合にのみ、多分、この場合に返されるので、グリッドが – Chandu
結合されていない行がないdridを結合しているが、あなたが取得しているあなたはよろしいです値をDataTable dtに入力しますか? (つまり、0より大きい数です) – Vinay
はい、サンプルを試した回数に応じて6行あります。 – DarrylGodden