私はC#WebアプリケーションにGridViewコントロールを持っています。私のグリッドビューでは、ButtonFieldのSelect、ID="btnSelect"
があります。基本的に私のGridViewコントロールには、クライアントの名字、姓、住所、電話番号があり、対応する情報にはテキストボックスがあります。グリッドビューの選択ボタンを押したときに、クライアントの名前をテキストボックスに入れたいと思っていましたが、私はそれを成功させましたが、アプリケーションでは最大6つのクライアントを選択できます。私はこれをやっているよりも良い方法がありますか?以下のコードは次のとおりです。GridViewコントロールのRowコマンドで
void GridView1_RowCommand(Object sender, GridViewCommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
if(string.IsNullOrEmpty(txtName1.Text) && string.IsNullOrEmpty(txtLName1.Text) &&
string.IsNullOrEmpty(txtAddr1.Text) && string.IsNullOrEmpty(txtPhone1.Text))
{
txtName1.Text=Server.HtmlDecode(row.Cells[1].Text);
txtLName1.Text=Server.HtmlDecode(row.Cells[2].Text);
txtAddr1.Text=Server.HtmlDecode(row.Cells[3].Text);
txtPhone1.Text=Server.HtmlDecode(row.Cells[4].Text);
}
//If I hit another select button then this will load the sencond set of txtboxes
if(string.IsNullOrEmpty(txtName2.Text) && string.IsNullOrEmpty(txtLName2.Text) &&
string.IsNullOrEmpty(txtAddr2.Text) && string.IsNullOrEmpty(txtPhone2.Text))
{
txtName2.Text=Server.HtmlDecode(row.Cells[1].Text);
txtLName2.Text=Server.HtmlDecode(row.Cells[2].Text);
txtAddr2.Text=Server.HtmlDecode(row.Cells[3].Text);
txtPhone2.Text=Server.HtmlDecode(row.Cells[4].Text);
}
//The thrid time will load the third button and so on until I fill each txtbox if I choose.
}
は、私は、行のコマンドで選択ボタンを押すたびに、私はそこにすべてのそれらの場合、複雑ステートメントを配置する必要はありません場合はどこにこれをコーディングするより良い方法はありますか?これを扱うことができるforeachループのようなものはありますか?
で、それは 'txtAddr2'と' txtPhone2'のために働くのでしょう? – sarwar026
これはページ上の任意のコントロールに対して機能します。 (別のコントロール内ではない)。 "txtAddr"、 "txtPhone"などの "txtName"を変更するだけです。私のコードでは、1行あたりのボタン数を想定しています。だから、クリックした行はtxtボックスの行に一致します – mp3duck
これは機能しました! – Naina