我正在尝试使用此代码。但它不起作用。有什么问题?
问题图片:
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < GridView4.Rows.Count; i++)
{
TextBox2.Text += GridView4.Rows[i].Cells[1].Text.ToString() + ", ";
}
}
答案 0 :(得分:0)
FindControl
并投射它,例如Label
。List<string>
,
解决方法:
List<string> valueArray = new List<string>();
for (int i = 0; i < GridView4.Rows.Count; i++)
{
// Label1 is ID of your control in GridView
string value = ((Label)GridView4.Rows[i].Cells[1].FindControl("Label1")).Text;
valueArray.Add(value);
}
TextBox2.Text = string.Join<string>(",", valueArray); // seperate values by ,
答案 1 :(得分:0)
protected void Button_SonucKaydet_Click(object sender, EventArgs e)
{// I did with Asif.Ali and Alex Kudryashev's opinion.
try
{
OleDbConnection con = new OleDbConnection(VTYolu);
con.Open();
foreach (GridViewRow row in GridView4.Rows)
{
Label innerLabel = (Label)row.FindControl("Label1x");
DropDownList innerDropdown = (DropDownList)row.FindControl("DropDownList1x");
TextBox innerTextBox = (TextBox)row.FindControl("TextBox4x");
string Ekle1 = "UPDATE Dat_Odev SET OdevKontrolTarihi=@Tarih, OdevSonucu=@Sonuc, SonucAciklama=@Aciklama WHERE Kimlik=@id";
OleDbCommand Komut1 = new OleDbCommand(Ekle1, con);
Komut1.Parameters.AddWithValue("@Tarih", DateTime.Now.ToString());
Komut1.Parameters.AddWithValue("@Sonuc", innerDropdown.SelectedValue);
Komut1.Parameters.AddWithValue("@Aciklama", innerTextBox.Text);
Komut1.Parameters.AddWithValue("@id", Int32.Parse(innerLabel.Text));
Komut1.ExecuteNonQuery();
}
con.Close();
GridView1.DataBind();
}
catch (Exception HataKodu)
{//Hata oluştuğunda çalışacak kodlar
Label_Hata.Visible = true;
Label_Hata.Text = "Ödev sonuçlarını kaydederken bir hata oluştu. Veya Veritabanı hatası. Sistem yöneticisi ile irtibata geçiniz. (Hata kodu: " + HataKodu + ")";
}
}
答案 2 :(得分:-1)
使用以下行
TextBox2.Text += GridView4.Rows[i].Cells[1].Value.ToString() + ", ";