私はVS2005 C#を使用しています。ドロップダウンリストコントロールでGridViewを更新
現在、私は、GridViewコントロールを持っている、と、私はデフォルトTextBox
から私はGenderList
にコントロールのID
を与えたDropDownList
に、私の列名Gender
に私のGridViewコントロールのいずれかを変更している、そしてそれは2つの値が含まれていますMおよびF。
私は以下の通りですedit
後のGridViewを更新することができるデフォルトの更新ステートメントを、持っている:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString=
"<%$ ConnectionStrings:SODConnectionString %>" UpdateCommand="UPDATE
[UserMasterData] SET [Name] = @Name, [Age] = @Age, [ContactNo][email protected],
[Address][email protected], [Gender][email protected]"/>
上記のUPDATEクエリは完璧に動作し、今私は私のGender
テキストボックスを変更しました
Must declare the scalar variable "@Gender".
UPDATE
クエリは私に言うエラーが発生しました
私はUPDATEクエリが私のGender
カラムから値を見つけられないと仮定します。
更新クエリを@GenderList
に変更しようとしましたが、うまく機能しませんでした。
UPDATEクエリで自分の列にあるGenderList
のドロップダウンリストの値を見つけることができるように、私は何をすべきか分かっていますか?
ありがとうございます。
以下は、テキストボックスコントロールと私の前Gender
コラムです:以下
<asp:BoundField HeaderText="Gender"
DataField="Gender"
SortExpression="Gender"></asp:BoundField>
である私のGender
のDropDownListコントロール付き:
<asp:TemplateField HeaderText="Gender" SortExpression="Gender" >
<EditItemTemplate>
<asp:DropDownList ID="GenderList" runat="server" Width="50px" >
<asp:ListItem>M</asp:ListItem>
<asp:ListItem>F</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
EDIT:
はRowDatBound
onRowUpdating
とを実現しようとした:
RowDatBound
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DataRowView dRowView = (DataRowView)e.Row.DataItem;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.RowState & DataControlRowState.Edit) > 0)
{
DropDownList genderList= (DropDownList)e.Row.FindControl("GenderList");
genderList.SelectedValue = dRowView[2].ToString();
}
}
}
RowUpdating
.aspx.cs
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
DropDownList genderSelect =(DropDownList)GridView1.Rows[e.RowIndex].FindControl("GenderList");
SqlDataSource1.UpdateParameters["Gender"].DefaultValue =
genderSelect.SelectedValue; --> error says not set to an instance of an object
}
http://stackoverflow.com/questions/8395365/asp-net-change-of-gridview-update-statement-after-templateediting/8395849#8395849もう1つの新しい質問と同じ質問???新しいスレッドで同じ質問をしても同じ質問をしないでください。同じユーザーでも同じです。http://stackoverflow.com/users/872370/ruihao –
新しいアカウントを作成せず、再度同じ質問をしてください。また、***は*** asp.netとあなたの質問の先行を停止してください。タイトルにタグを追加する必要はありません。私たちは完璧に動作するタグシステムを持っています! – Will