ASP:gridviewオブジェクトを3つ表示するASPXアプリケーションがあります。これらの列の値に基づいて各グリッドビューに表示するSQLiteテーブルから特定の列を選択しました。私が持っている問題は、1つのgridviewです。このグリッドビューはテーブルから6列を引き出し、それらに2つのButtonFieldsと1つのTemplatefieldと共に、その中にtexboxコントロールを表示します。ボタンの1つは、(ユーザーが入力した)テキストボックスからのテキストをテーブルに挿入することになっています。アプリはグリッドビューを更新し、挿入されたデータが列に表示されます。ASPからのsqlデータを更新:Gridview Textbox
protected void gvApproved_RowCommand(object sender, GridViewCommandEventArgs e)
{
int rowIndex = Convert.ToInt32(e.CommandArgument);
GridViewRow row = gvApproved.Rows[rowIndex];
string name = row.Cells[0].Text;
string column = "";
string value = "";
switch (e.CommandName)
{
case "Close":
column = "closed";
value = "yes";
break;
case "Score":
column = "score";
value = row.Cells[8].Text;
break;
}
SQL_Helper.Update_Row(rowIndex, column, value, name);
Refresh_All_Grids();
}
更新行コマンドは、ケース内に誰も好奇心である:
Iは、テーブルにデータを挿入するために、次の使用している私はvalue = row.Cells[8].ToString()
にラインvalue = row.Cells[8].Text;
設定
public static void Update_Row(int rowIndex, string updateField, string updateString, string updateName)
{
string query = "UPDATE applications SET '" + updateField + "' = '" + updateString + "' WHERE name = '" + updateName + "';";
Query_Table(query);
}
それはテーブルに'System.Web.UI.WebControls.DataControlFieldCell'
を挿入するので、私はそれが右の列から引っ張っていることを知っていますが、上に書いたままにすると、空の文字列が挿入されます。グリッドビューのテキストボックスから挿入することはできませんか?そうであれば、それを機能させるためには何を変更する必要がありますか?
'row.Cells []。Value 'はクラスの有効なメンバーとして存在しません。 –
@RobertSpearsはい、私はそれを説明するために私の答えを編集しました。 DataGridViewRowを使用していたのにGridViewRowを使用していると思っていました。 –