Actualisation de la GridView après la mise à jour
Fondamentalement, le contrôle GridView n'est pas en montrant les valeurs mises à jour après la mise à jour de l'événement se produit. J'ai cherché sur le forum et vu beaucoup de solutions mais rien n'a fonctionné quand j'ai essayé de l'en sortir.
La base de données est certainement mis à jour mais les mises à jour ne sont visibles qu'une fois que j'ai redémarrer le projet.
Ce que j'ai fait:
- Très libéral utilisation de GridView1.Databind();
- L'utilisation prudente des GridView1.Databind();
- Page_Load contient (!IsPostBack) wrapper avec GridView1.Databind();
- Placé GridView1.Databind(); dans le GridView1_RowUpdating événement.
- ...et un certain nombre d'autres choses que j'ai essayé après avoir cherché sur le forum.
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using System.IO;
public partial class Styles_ConsolidatedProducers : System.Web.UI.Page
{
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridView1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataBind();
}
else
{
//GridView1.DataBind();
}
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
protected void Gridview1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
protected void cmdReset_Click(object sender, EventArgs e)
{
ToggleCheckState(false);
cboBusinessSource.ClearSelection();
cboConsolidatedProducer.ClearSelection();
cboRelinkToConsolidatedProducer.ClearSelection();
txtSearch.Text = "";
lblRelinkToConsolidatedProducer.Visible = false;
cboRelinkToConsolidatedProducer.Visible = false;
cmdRelink.Visible = false;
GridView1.DataBind();
}
protected void cboConsolidatedProducer_SelectedIndexChanged(object sender, EventArgs e)
{
//GridView1.DataBind();
}
protected void cboBusinessSource_SelectedIndexChanged(object sender, EventArgs e)
{
//GridView1.DataBind();
}
protected void cmdUnlink_Click(object sender, EventArgs e)
{
{
bool atLeastOneRowUpdated = false;
//Iterate through the Products.Rows property
foreach (GridViewRow row in GridView1.Rows)
{
//Access the CheckBox
CheckBox cb = (CheckBox)row.FindControl("chkUpdate");
if (cb != null && cb.Checked)
{
//Edit row is true.
atLeastOneRowUpdated = true;
//Get the MasterID for the selected row.
int MasterID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
SqlConnection con = new SqlConnection("FOO");
con.Open();
string updateSQL = "UPDATE tblMasterDetail " + "SET ProducerConsolidatedID = @ProducerConsolidatedID, ProducerConsolidatedName = @ProducerConsolidatedName WHERE MasterID = @MasterID";
Console.WriteLine(updateSQL);
SqlCommand cmd = new SqlCommand(updateSQL, con);
cmd.Parameters.Add("@MasterID", SqlDbType.Int, 10, "MasterID");
cmd.Parameters.Add("@ProducerConsolidatedID", SqlDbType.NVarChar, 20, "ProducerConsolidatedID");
cmd.Parameters.Add("@ProducerConsolidatedName", SqlDbType.NVarChar, 20, "ProducerConsolidatedName");
//cmd.Parameters["@ProducerConsolidatedID"].Value = MasterID;
cmd.Parameters["@MasterID"].Value = MasterID;
cmd.Parameters["@ProducerConsolidatedID"].Value = "XX";
cmd.Parameters["@ProducerConsolidatedName"].Value = "XX";
//Update the row.
cmd.ExecuteNonQuery();
GridView1.DataBind();
con.Close();
ToggleCheckState(false);
lblUpdatedRecords.Text += string.Format(
"Record unlinked: {0}<br />", MasterID);
//"This would have updated ProductID {0}<br />", MasterID);
}
}
//Show the Label if at least one row was deleted...
lblUpdatedRecords.Visible = atLeastOneRowUpdated;
}
}
private void ToggleCheckState(bool checkState)
{
//Iterate through the Products.Rows property
foreach (GridViewRow row in GridView1.Rows)
{
//Access the CheckBox
CheckBox cb = (CheckBox)row.FindControl("chkUpdate");
if (cb != null)
cb.Checked = checkState;
}
}
protected void cmdUncheckAll_Click(object sender, EventArgs e)
{
ToggleCheckState(false);
cboRelinkToConsolidatedProducer.Visible = false;
lblRelinkToConsolidatedProducer.Visible = false;
cmdRelink.Visible = false;
}
protected void txtSearch_TextChanged(object sender, EventArgs e)
{
//GridView1.DataBind();
}
protected void cboRelinkToConsolidatedProducer_SelectedIndexChanged(object sender, EventArgs e)
{
//Get value form dropdown.
txtRelinkToConsolidatedProducerID.Text = cboRelinkToConsolidatedProducer.SelectedItem.Value;
//Get value form dropdown.
txtRelinkToConsolidatedProducerName.Text = cboRelinkToConsolidatedProducer.SelectedItem.Text;
cmdRelink.Visible = true;
//GridView1.DataBind();
}
protected void cmdRelinkTo_Click(object sender, EventArgs e)
{
lblRelinkToConsolidatedProducer.Visible = true;
cboRelinkToConsolidatedProducer.Visible = true;
}
protected void cmdRelink_Click(object sender, EventArgs e)
{
bool atLeastOneRowUpdated = false;
//Iterate through the Products.Rows property
foreach (GridViewRow row in GridView1.Rows)
{
//Access the CheckBox
CheckBox cb = (CheckBox)row.FindControl("chkUpdate");
if (cb != null && cb.Checked)
{
//Edit row is true.
atLeastOneRowUpdated = true;
//Get the MasterID for the selected row.
int MasterID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
SqlConnection con = new SqlConnection("FOO");
//con.Open();
string updateSQL = "UPDATE tblMasterDetail " + "SET ProducerConsolidatedID = @ProducerConsolidatedID, ProducerConsolidatedName = @ProducerConsolidatedName WHERE MasterID = @MasterID";
Console.WriteLine(updateSQL);
SqlCommand cmd = new SqlCommand(updateSQL, con);
cmd.Parameters.Add("@MasterID", SqlDbType.Int, 10, "MasterID");
cmd.Parameters.Add("@ProducerConsolidatedID", SqlDbType.NVarChar, 20, "ProducerConsolidatedID");
cmd.Parameters.Add("@ProducerConsolidatedName", SqlDbType.NVarChar, 20, "ProducerConsolidatedName");
cmd.Parameters["@MasterID"].Value = MasterID;
cmd.Parameters["@ProducerConsolidatedID"].Value = txtRelinkToConsolidatedProducerID.Text;
cmd.Parameters["@ProducerConsolidatedName"].Value = txtRelinkToConsolidatedProducerName.Text;
con.Open();
//Update the row.
cmd.ExecuteNonQuery();
GridView1.DataBind();
con.Close();
ToggleCheckState(false);
lblUpdatedRecords.Text += string.Format(
"Records relinked: {0}<br />", MasterID);
//"This would have updated ProductID {0}<br />", MasterID);
cboRelinkToConsolidatedProducer.Visible = false;
lblRelinkToConsolidatedProducer.Visible = false;
cmdRelink.Visible = false;
}
}
//Show the Label if at least one row was deleted...
lblUpdatedRecords.Visible = atLeastOneRowUpdated;
}
protected void cmdRefresh_Click(object sender, EventArgs e)
{
GridView1.DataBind();
}
}
Balisage:
<%@ Page Language="C#" AutoEventWireup="true" Debug="true" EnableEventValidation="true" CodeFile="Search.aspx.cs" Inherits="Styles_ConsolidatedProducers"
EnableViewStateMac ="false" EnableSessionState="True" ValidateRequest ="false" ViewStateEncryptionMode ="Never" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Producer Search</title>
<style type="text/css">
.style1
{
font-family: Calibri;
}
.style2
{
color: #FFFFFF;
}
.style3
{
font-size: xx-large;
}
#form1
{
font-family: Calibri;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div style="background-color: #000000; width: 1251px;">
<asp:Image ID="Image1" runat="server" Height="63px" ImageAlign="Left"
ImageUrl="~/BM.jpg" Width="93px" />
<br />
<span class="style1">
<span class="style2"><span class="style3">search</span></span></span><br
class="style3" />
<span class="style1"><span class="style2">
<br />
</span></span>
<asp:Label ID="lblConsolidatedProducer" runat="server" style="color: #FFFFFF"
Text="Consol. Producer:"></asp:Label>
<asp:DropDownList ID="cboConsolidatedProducer" AppendDataBoundItems="true" runat="server"
AutoPostBack="True" DataSourceID="ConsolidatedProducer"
DataTextField="ProducerConsolidatedName"
DataValueField="ProducerConsolidatedID" Height="22px" Width="259px"
onselectedindexchanged="cboConsolidatedProducer_SelectedIndexChanged">
<asp:ListItem Value="%" Selected="True">None</asp:ListItem>
<asp:ListItem Value="XX">Unlinked</asp:ListItem>
</asp:DropDownList>
<span class="style1">
<asp:Label ID="lblBusinessSource" runat="server" style="color: #FFFFFF"
Text="Source:"></asp:Label>
</span>
<asp:DropDownList ID="cboBusinessSource" AppendDataBoundItems="true"
runat="server" AutoPostBack="True"
DataSourceID="BusinessSource" DataTextField="BusinessSourceCode"
DataValueField="BusinessSourceCode" Height="22px" Width="65px"
onselectedindexchanged="cboBusinessSource_SelectedIndexChanged">
<asp:ListItem Value="%" Selected="True">All</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="lblSearch" runat="server" style="color: #FFFFFF"
Text="Producer Name:"></asp:Label>
<asp:TextBox ID="txtSearch" runat="server"
ontextchanged="txtSearch_TextChanged" AutoCompleteType="Disabled"
AutoPostBack="True" MaxLength="50"></asp:TextBox>
<asp:SqlDataSource ID="BusinessSource" runat="server"
ConnectionString="<%$ ConnectionStrings:BMBESQLConnectionString %>"
SelectCommand="SELECT DISTINCT [BusinessSourceCode] FROM [tblMasterDetail] WHERE ([BusinessSourceCode] IS NOT NULL)"
CancelSelectOnNullParameter="False">
</asp:SqlDataSource>
<asp:SqlDataSource ID="MasterDetail" runat="server"
ConnectionString="<%$ ConnectionStrings:BMBESQLConnectionString %>"
SelectCommand="SELECT MasterID, SystemSourceCode, BusinessSourceCode, PRODUCERMASTERID, PRODUCERCONSOLIDATEDID, ProducerConsolidatedName, GWP, FINMISNATIONALCODE, PRODUCERNATIONALCODE, PRODUCERNAME, [Update] FROM tblMasterDetail" EnableCaching="True"
FilterExpression="[ProducerConsolidatedID] LIKE '{0}%' and [BusinessSourceCode] LIKE '{1}%' and [ProducerName] Like '%{2}%'"
CancelSelectOnNullParameter="False"
OldValuesParameterFormatString="original_{0}"
InsertCommand="INSERT INTO [tblMasterDetail] ([SystemSourceCode], [BusinessSourceCode], [PRODUCERMASTERID], [PRODUCERCONSOLIDATEDID], [ProducerConsolidatedName], [GWP], [PRODUCERNATIONALCODE], [FINMISNATIONALCODE], [PRODUCERNAME], [Update]) VALUES (@SystemSourceCode, @BusinessSourceCode, @PRODUCERMASTERID, @PRODUCERCONSOLIDATEDID, @ProducerConsolidatedName, @GWP, @PRODUCERNATIONALCODE, @FINMISNATIONALCODE, @PRODUCERNAME, @Update);"
DeleteCommand="DELETE FROM [tblMasterDetail] WHERE [MasterID] = @original_MasterID AND (([SystemSourceCode] = @original_SystemSourceCode) OR ([SystemSourceCode] IS NULL AND @original_SystemSourceCode IS NULL)) AND (([BusinessSourceCode] = @original_BusinessSourceCode) OR ([BusinessSourceCode] IS NULL AND @original_BusinessSourceCode IS NULL)) AND (([PRODUCERMASTERID] = @original_PRODUCERMASTERID) OR ([PRODUCERMASTERID] IS NULL AND @original_PRODUCERMASTERID IS NULL)) AND (([PRODUCERCONSOLIDATEDID] = @original_PRODUCERCONSOLIDATEDID) OR ([PRODUCERCONSOLIDATEDID] IS NULL AND @original_PRODUCERCONSOLIDATEDID IS NULL)) AND (([ProducerConsolidatedName] = @original_ProducerConsolidatedName) OR ([ProducerConsolidatedName] IS NULL AND @original_ProducerConsolidatedName IS NULL)) AND (([GWP] = @original_GWP) OR ([GWP] IS NULL AND @original_GWP IS NULL)) AND (([PRODUCERNATIONALCODE] = @original_PRODUCERNATIONALCODE) OR ([PRODUCERNATIONALCODE] IS NULL AND @original_PRODUCERNATIONALCODE IS NULL)) AND (([FINMISNATIONALCODE] = @original_FINMISNATIONALCODE) OR ([FINMISNATIONALCODE] IS NULL AND @original_FINMISNATIONALCODE IS NULL)) AND (([PRODUCERNAME] = @original_PRODUCERNAME) OR ([PRODUCERNAME] IS NULL AND @original_PRODUCERNAME IS NULL)) AND (([Update] = @original_Update) OR ([Update] IS NULL AND @original_Update IS NULL))"
ConflictDetection="CompareAllValues">
<DeleteParameters>
<asp:Parameter Name="original_MasterID" />
<asp:Parameter Name="original_SystemSourceCode" />
<asp:Parameter Name="original_BusinessSourceCode" />
<asp:Parameter Name="original_PRODUCERMASTERID" />
<asp:Parameter Name="original_PRODUCERCONSOLIDATEDID" />
<asp:Parameter Name="original_ProducerConsolidatedName" />
<asp:Parameter Name="original_GWP" />
<asp:Parameter Name="original_PRODUCERNATIONALCODE" />
<asp:Parameter Name="original_FINMISNATIONALCODE" />
<asp:Parameter Name="original_PRODUCERNAME" />
<asp:Parameter Name="original_Update" />
</DeleteParameters>
<FilterParameters>
<asp:ControlParameter ControlID="cboConsolidatedProducer"
Name="ProducerConsolidatedID" PropertyName="SelectedValue"
DefaultValue="" ConvertEmptyStringToNull="true" />
<asp:ControlParameter ControlID="cboBusinessSource" Name="BusinessSourceCode"
PropertyName="SelectedValue" ConvertEmptyStringToNull="true"
DefaultValue=" " />
<asp:ControlParameter ControlID="txtSearch" DefaultValue=" " Name="ProducerName"
PropertyName="Text" Type="String" />
</FilterParameters>
<InsertParameters>
<asp:Parameter Name="SystemSourceCode" />
<asp:Parameter Name="BusinessSourceCode" />
<asp:Parameter Name="PRODUCERMASTERID" />
<asp:Parameter Name="PRODUCERCONSOLIDATEDID" />
<asp:Parameter Name="ProducerConsolidatedName" />
<asp:Parameter Name="GWP" />
<asp:Parameter Name="PRODUCERNATIONALCODE" />
<asp:Parameter Name="FINMISNATIONALCODE" />
<asp:Parameter Name="PRODUCERNAME" />
<asp:Parameter Name="Update" />
</InsertParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="ConsolidatedProducer" runat="server"
ConnectionString="<%$ ConnectionStrings:BMBESQLConnectionString %>"
SelectCommand="SELECT DISTINCT ProducerConsolidatedName, ProducerConsolidatedID FROM tblProducerConsolidated WHERE (MakeConsolidated = 1) ORDER BY ProducerConsolidatedName"
CancelSelectOnNullParameter="False">
</asp:SqlDataSource>
<asp:Button ID="cmdReset" runat="server" onclick="cmdReset_Click"
Text="Reset" />
<br />
<br />
</div>
<br />
<asp:Button ID="cmdRelinkTo" runat="server" Text="Relink"
onclick="cmdRelinkTo_Click" />
<asp:Button ID="cmdUnlink" runat="server" Text="Unlink"
onclick="cmdUnlink_Click" />
<asp:Label ID="lblRelinkToConsolidatedProducer" runat="server"
Text="Relink To:" Visible="False"></asp:Label>
<asp:DropDownList ID="cboRelinkToConsolidatedProducer" runat="server"
AutoPostBack="True" DataSourceID="ConsolidatedProducer"
DataTextField="ProducerConsolidatedName"
DataValueField="ProducerConsolidatedID" Height="22px"
onselectedindexchanged="cboRelinkToConsolidatedProducer_SelectedIndexChanged"
Visible="False" Width="259px">
</asp:DropDownList>
<br />
<asp:Button ID="cmdRelink" runat="server" onclick="cmdRelink_Click"
Text="Relink" Visible="False" />
<asp:TextBox ID="txtRelinkToConsolidatedProducerID" runat="server"
Visible="False"></asp:TextBox>
<asp:TextBox ID="txtRelinkToConsolidatedProducerName" runat="server"
Visible="False"></asp:TextBox>
<br />
<asp:Button ID="cmdUncheckAll" runat="server" onclick="cmdUncheckAll_Click"
Text="Clear" Height="26px" Width="54px" />
<asp:Button ID="cmdRefresh" runat="server" onclick="cmdRefresh_Click"
Text="Refresh" />
<br />
<br />
<asp:Label ID="lblRecordsFound" runat="server" style="color: #000000" Text="-"></asp:Label>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False"
DataSourceID="MasterDetail"
onrowupdating="GridView1_RowUpdating"
Width="1243px" EmptyDataText="-"
DataKeyNames="MasterID">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="MasterID"
DataNavigateUrlFormatString="ProducerDetail.aspx?masterid={0}" Text="View" />
<asp:TemplateField HeaderText="Update" SortExpression="Update">
<EditItemTemplate>
<asp:CheckBox ID="Update" runat="server" Checked='<%# Bind("Update") %>'
AutoPostBack='<%# Bind("Update") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkUpdate" runat="server" Checked='<%# Bind("Update") %>'
AutoPostBack='<%# Bind("Update") %>' />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="MasterID" HeaderText="ID"
InsertVisible="False" ReadOnly="True" SortExpression="MasterID" />
<asp:BoundField DataField="SystemSourceCode" HeaderText="System"
ReadOnly="True" SortExpression="SystemSourceCode" />
<asp:BoundField DataField="BusinessSourceCode" HeaderText="Source"
ReadOnly="True" SortExpression="BusinessSourceCode" />
<asp:BoundField DataField="PRODUCERNAME" HeaderText="Producer Name"
ReadOnly="True" SortExpression="PRODUCERNAME" >
<ControlStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="GWP"
HeaderText="GWP" SortExpression="GWP" DataFormatString="{0:c}"
ReadOnly="True" ApplyFormatInEditMode="True" />
<asp:BoundField DataField="PRODUCERMASTERID" HeaderText="Producer Master ID"
ReadOnly="True" SortExpression="PRODUCERMASTERID" >
<ControlStyle Width="100px" />
</asp:BoundField>
<asp:TemplateField HeaderText="Consol. ID"
SortExpression="PRODUCERCONSOLIDATEDID">
<EditItemTemplate>
<asp:TextBox ID="txtConsolidatedProducerID" runat="server"
Text='<%# Bind("PRODUCERCONSOLIDATEDID") %>' AutoPostBack="True" CausesValidation="True"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="ConsolidatedProducerID" runat="server"
Text='<%# Bind("PRODUCERCONSOLIDATEDID") %>' AutoPostBack="True" CausesValidation="True"></asp:TextBox>
</ItemTemplate>
<ControlStyle Width="100px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Consol. Name"
SortExpression="PRODUCERCONSOLIDATEDID">
<EditItemTemplate>
<asp:TextBox ID="txtConsolidatedProducerName" runat="server"
Text='<%# Bind("ProducerConsolidatedName") %>' AutoPostBack="True" CausesValidation="True"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="ConsolidatedProducerName" runat="server"
Text='<%# Bind("ProducerConsolidatedName") %>' AutoPostBack="True" CausesValidation="True"></asp:TextBox>
</ItemTemplate>
<ControlStyle Width="100px" />
</asp:TemplateField>
<asp:BoundField DataField="PRODUCERNATIONALCODE"
HeaderText="Source Code"
SortExpression="PRODUCERNATIONALCODE" ReadOnly="True" />
<asp:BoundField DataField="FINMISNATIONALCODE" HeaderText="FINMIS Code"
ReadOnly="True" SortExpression="FINMISNATIONALCODE" />
</Columns>
</asp:GridView>
<asp:Label ID="lblUpdatedRecords" runat="server" EnableViewState="False"></asp:Label>
<br />
<br />
</form>
Toutes les autres fonctions de travail - c'est la seule question en suspens. De toute orientation est apprécié.
DanRomano avez-vous redoublé par le code..? sera également envelopper un
lorsque vous exécutez le programme, ce sont les valeurs de l'affichage dans le datagridview? si oui, alors on dirait que vous ne lient pas correctement.. avez-vous essayé d'appeler le
Merci pour la réponse rapide.J'ai changé ma commande de mise à jour, pas de changements.
J'ai également renforcé par le code. Pas de problèmes si c'est ce que vous avez voulu dire. Je vais essayer de try{} catch{} écharpe mais ça pourrait être un problème de navigateur?
try{} catch{}
autour de votre cmd.ExecuteNonQuery();
est le problème que vous rencontrez entouré de tout le code que vous avez posté ici..? si pas de raccourcir le code et après seulement pertinents du code qui concerne le problème que vous rencontrezlorsque vous exécutez le programme, ce sont les valeurs de l'affichage dans le datagridview? si oui, alors on dirait que vous ne lient pas correctement.. avez-vous essayé d'appeler le
GridView1.DataBind();
sur un autre événement?Merci pour la réponse rapide.J'ai changé ma commande de mise à jour, pas de changements.
J'ai également renforcé par le code. Pas de problèmes si c'est ce que vous avez voulu dire. Je vais essayer de try{} catch{} écharpe mais ça pourrait être un problème de navigateur?
OriginalL'auteur Dan Romano | 2013-03-07
Vous devez vous connecter pour publier un commentaire.
Vous êtes en utilisant la mise en cache sur le
SqlDataSource
qui est pourquoi il est de vous montrer la première Sélectionnez résultat sur votreDataBind
.De votre balisage:
Essayez de faire la mise à jour suivante à votre explicite bouton actualiser:
Une Idée de comment résoudre ce problème pour l'application de bureau? je ne vais pas travailler avec ASP
Si vous avez la même configuration (contrôle lié à un SqlDataSource) puis le même travail. J'ai vraiment besoin plus d'informations autrement. Laissez-moi savoir si vous postez une question.
OriginalL'auteur Mike Guthrie
Est MasterDetail le nom de votre table SQL?
Non, c'est tblMasterDetail. J'ai changé MasterDetail à tblMasterDetail, et je reçois le même message d'erreur.
vérifier mes mises à jour de réponse....il va travailler maintenant. 🙂 Marque aussi le poste utile de sorte qu'il acariens aider les autres.
Déjà là: <asp:GridView ID="GridView1" runat="server" cases à cocher allowcustompaging="True" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="MasterDetail" onrowupdating="GridView1_RowUpdated" Width="1243px" EmptyDataText="-" DataKeyNames="MasterID">
OriginalL'auteur Praveen Nambiar
Je ne sais pas si c'est la meilleure façon, mais il fonctionne très bien pour moi après la mise à jour. Après le clic sur le bouton mise à jour, j'ai écrit de nouveau le
SqlDataSource.SelectCommand
pour sélectionner les données dont j'ai besoin.Mon code:
OriginalL'auteur Shahar Ehrenhalt