私のページでは、私はGridViewをコードビハインドからソースに設定して、XMLファイルからコンパイルするカスタムDatatableを設定します。このようにして、 。 そして、これは正常に動作しますので、このように列を追加しながら、私は細胞内のチェックボックスを追加してい:チェックボックスのデータテーブルからチェックイベントを処理していない
:私はこのように電子として GridViewRowEventArgsと私のGridViewのRowDataBoundで各チェックボックスを有効にしています DataTable dt = new DataTable();
dt.Columns.Add(" ");
foreach (XmlNode xns in doc.DocumentElement.ChildNodes[0])
{
foreach (XmlNode xn in xns)
{
string tagName = xn.Name;
dt.Rows.Add(tagName);
}
}
dt.Columns.Add("Mattina Turno 1", typeof(bool)); //this adds the checkbox
dt.Columns.Add("Mattina Turno 2", typeof(bool));
dt.Columns.Add("Pomeriggio", typeof(bool));
GridView1.DataSource = dt;
GridView1.DataBind();
protected void GridView1_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
for (int i = 0; i < e.Row.Cells.Count;i++)
{
if (e.Row.Cells[i].GetType() == typeof(System.Web.UI.WebControls.DataControlFieldCell))
{
TableCell tc = e.Row.Cells[i];
if (tc.Controls.Count > 0)
{
CheckBox cb = (CheckBox)tc.Controls[0];
if (cb != null)
{
cb.Enabled = true;
colonna = ((GridView)sender).HeaderRow.Cells[i].Text;
riga = e.Row.Cells[0].Text;
cb.CausesValidation = false;
cb.ID = riga + " " + colonna;
cb.ToolTip = riga + " " + colonna;
cb.AutoPostBack = true;
cb.CheckedChanged += new EventHandler(Cb_CheckedChanged);
cb.Attributes.Add("runat", "server");
}
}
}
}
}
しかし、チェックボックスのチェックイベントを処理しようとすると何も起こりません。 チェックチェンジはCb_CheckedChangedを呼び出す必要がありますが、何も起こりません。これはCb_CheckChangedさ
:
private void Cb_CheckedChanged(object sender, EventArgs e)
{
Cliccato.Text = ((CheckBox)sender).ID.ToString();
System.Diagnostics.Debug.Write(((CheckBox)sender).ToolTip);
}
私は、チェックボックスにページの更新をクリックしたときので、AutoPostBackのは動作するようですが、それはすべてのイベントを処理しません... は私を助けてください、私は本当にあなたの助けが必要!
可能な重複の[チェックボックスのDataGridViewにCellValueChangedイベントを発火ありません] (同じhttps://stackoverflow.com/questions/17275166/checkboxes-in-datagridview-not-firing-cellvaluechanged-event) – MatSnow
同じ質問かもしれませんが、あなたは正しい答えを見つけましたか?それは'13の質問です、私はそれが同じではないことを確認することができます。重複していると印を付けないでください。 –