例:mypage.aspx?num=xxx
如何添加動態ň複選框列的GridView ASP.NET
我怎麼能一個num
複選框列在mypages通過後臺代碼添加到的GridView?
我又增加了num
列數據表與參數typeof(bool)
,但是當我裝我的空間,該複選框被禁用的,所以我不能檢查。
例:mypage.aspx?num=xxx
如何添加動態ň複選框列的GridView ASP.NET
我怎麼能一個num
複選框列在mypages通過後臺代碼添加到的GridView?
我又增加了num
列數據表與參數typeof(bool)
,但是當我裝我的空間,該複選框被禁用的,所以我不能檢查。
這是我網格的aspx代碼
所有的<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
<Columns>
</Columns>
</asp:GridView>
首先添加num
許多模板字段到你的GridView
protected void Page_PreInit(object sender, EventArgs e)
{
int num = Request.QueryString["num"];
for (int i = 0; i < num; i++)
{
TemplateField tf = new TemplateField();
tf.HeaderText = "Status";
gv.Columns.Add(tf);
}
}
添加模板精密組件後,現在我們將添加複選框到GridView。我們編寫一個函數來添加複選框。以下是代碼
private void AddCheckBox()
{
int num = Request.QueryString["num"];
for (int i = 0; i < num; i++)
{
foreach (GridViewRow row in gv.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox cb = new CheckBox();
cb.Checked = true;
row.Cells[i].Controls.Add(cb);
}
}
}
}
現在將此函數放置在您的網格數據綁定事件中。
protected void gv_DataBound(object sender, EventArgs e)
{
AddCheckBox();
}
末了還呼籲在頁面加載事件的功能,所以第一次,當電網負荷它顯示覆選框被選中
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AddCheckBox();
}
}
要檢查我的代碼: 我添加綁定費爾德到網格視圖和結合網格視圖用的數據表:
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Data" HeaderText="Data" />
</Columns>
</asp:GridView>
和在後面的代碼在的Page_Load事件我添加以下代碼
DataTable dt = new DataTable();
dt.Columns.Add("Data");
DataRow dr = dt.NewRow();
dr[0] = "Test";
dt.Rows.Add(dr);
gv.DataSource = dt;
gv.DataBind();
和也由在功能AddCheckBox 1個變化爲
for (int i = 1; i < num + 1; i++)
上面做出改變,因爲我在網格的索引0具有數據綁定費爾德視圖列,所以我把它改爲從1
開始,這裏是結果(頁輸出)
Data Status Status Status Status Status Status Status Status Status Status
Test Checked Checked Checked Checked Checked Checked Checked Checked Checked Checked
檢查用於複選框被檢查
非常感謝。非常清楚 – 2012-07-27 13:19:56
@KahnCse不用客氣。也投票了這個答案。 – 2012-07-27 13:20:50
@KahnCse爲什麼你撤銷我接受的答案? – 2012-09-15 13:04:25
用途:
Request.QueryString["num"]
得到的URL num的值。然後迭代num次,每次向GridView添加一個CheckBoxField。
檢查我的答案,它會工作。 – 2012-07-27 10:49:56