foreach(DataGridItem dataGridItem in myDataGrid.Items)
{
if(((CheckBox)dataGridItem.FindControl("checkboxID")).Checked)
{
string UserName= dataGridItem.Cells[0].Text;
//得到了選定某一行的username;
}
}
{
if(((CheckBox)dataGridItem.FindControl("checkboxID")).Checked)
{
string UserName= dataGridItem.Cells[0].Text;
//得到了選定某一行的username;
}
}
Dim chkSelected As CheckBox
Dim strUserName As New StringBuilder For Each dgItem In dtgTune.Items
chkSelected = dgItem.FindControl("chkTune")
If (chkSelected.Checked) Then
strUserName.Append(dgItem.Cells(1).Text)
strUserName.Append(",")
End If
Next
{
if(((CheckBox)dataGridItem.FindControl("checkboxID")).Checked)
{
string UserName= dataGridItem.Cells[0].Text;
//得到了選定某一行的username;
//做相關操作。
}
}
這是一個循環,找出你選定的全部username,
string UserName= dataGridItem.Cells[0].Text 這樣定義隻是取得選定行的值,你要全部就把UserName += dataGridItem.Cells[0].Text取得字符串了。
下面是解决办法:
private void btOk_Click(object sender, System.EventArgs e)
{
this.SetDgChekedItem();
Hashtable selectedItem = (Hashtable)ViewState["selectedArray"];
if(selectedItem.Count != 0)
{
foreach(DictionaryEntry item in selectedItem)
{
//操作
}
}
}private void dgShareList_PageIndexChanged(......)
{
this.SetDgChekedItem();
dgShareList.CurrentPageIndex = e.NewPageIndex;
this.BindData();
}private void BindData()
{
//从数据库中读取数据
}private void dgShareList_ItemDataBound(...)
{
if(ViewState["selectedArray"] != null)
{
Hashtable selectedItem = (Hashtable)ViewState["selectedArray"];
for(int i=0;i<dgShareList.Items.Count;i++)
{
CheckBox cbSelect = (CheckBox)dgShareList.Items[i].FindControl("cbCheck");
if(selectedItem.ContainsKey(dgShareList.DataKeys[i].ToString()))
{
cbSelect.Checked = true;
}
}
}
}private void SetDgChekedItem()
{
Hashtable selectedItem ;
if(ViewState["selectedArray"] != null)
{
selectedItem = (Hashtable)ViewState["selectedArray"];
}
else
{
selectedItem = new Hashtable();
} for(int i=0;i<dgShareList.Items.Count;i++)
{
CheckBox cbSelect = (CheckBox)dgShareList.Items[i].FindControl("cbCheck"); if(cbSelect.Checked)
{
if(!selectedItem.ContainsKey(dgShareList.DataKeys[i].ToString()))
{
selectedItem.Add(dgShareList.DataKeys[i].ToString(),dgShareList.DataKeys[i].ToString());
}
}
else
{
if(selectedItem.ContainsKey(dgShareList.DataKeys[i].ToString()))
{
selectedItem.Remove(dgShareList.DataKeys[i].ToString());
}
}
} ViewState["selectedArray"] = selectedItem;
}
{
System.Web.UI.WebControls.CheckBox chkExport;
System.Collections.ArrayList oExArgs = new System.Collections.ArrayList();
string sID;
Label1.Text="1000";
foreach(DataGridItem oDataGridItem in dgMain.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
if( chkExport.Checked)
{
Label1.Text = "wwwwwwww";
//sID = ((Label)oDataGridItem.FindControl("lblColumn")).Text;
//oExArgs.Add(sID);
//int i = 0;
//for( i = 0;i<oExArgs.Count;i++)
//{
// Label1.Text += oExArgs[i] + "<br>";
//}
}
}
上面的程序当我选择复选框然后按下按扭label.text应该是wwwwwwwwww为什么值没有变呢。