ASP.NET中访问DataGrid中所有控件值的方法
本文实例讲述了ASP.NET中访问DataGrid中所有控件值的方法。分享给大家供大家参考,具体如下:
<%@PageLanguage="C#"%>
<%@importNamespace="System.Collections"%>
<scriptrunat="server">
voidPage_Load(Objectsender,EventArgse){
if(!Page.IsPostBack){
ArrayListdata=newArrayList();
data.Add(newPerson("Tom",33,true));
data.Add(newPerson("Jhon",39,false));
data.Add(newPerson("Mark",20,false));
data.Add(newPerson("Linda",27,true));
MyDataGrid.DataSource=data;
MyDataGrid.DataBind();
}
}
voidGetValues_Click(Objectsender,EventArgse){
StringResult="";
foreach(DataGridItemdataGridIteminMyDataGrid.Items){
//Getnamefromcell[0]
StringName=dataGridItem.Cells[0].Text;
//Gettextfromtextboxincell[1]
StringAge=((TextBox)dataGridItem.FindControl("AgeField")).Text;
//GetCheckedpropertyofCheckboxcontrol
boolIsGraduate=((CheckBox)dataGridItem.FindControl("IsGraduateField")).Checked;
//getValuesfromCheckboxlist
StringSkills="";
foreach(ListItemitemin((CheckBoxList)dataGridItem.FindControl("CheckBoxList1")).Items){
if(item.Selected){
Skills+=item.Value+",";
}
}
Skills=Skills.TrimEnd(',');
//GetRadioButtonListSelectedtext
StringExperience=((RadioButtonList)dataGridItem.FindControl("RadioButtonList1")).SelectedItem.Text;
//GetDropDownListSelectedtext
StringDegree=((DropDownList)dataGridItem.FindControl("DropDownList1")).SelectedItem.Text;
//BuildStringtoshowresult.
Result+=Name;
Result+="[Age-"+Age+"]";
if(IsGraduate){
Result+="IsGraduate,";
}else{
Result+="IsnotGraduate,";
}
Result+="HasSkills["+Skills+"],";
Result+="Has"+Experience+"Experience,And";
Result+="Has"+Degree+"Degree.";
Result+="<br>";
}
ResultField.Text=Result;
}
classPerson{
String_Name;
int_Age;
bool_IsGraduate;
publicPerson(Stringname,intage,boolisGraduate){
_Name=name;
_Age=age;
_IsGraduate=isGraduate;
}
publicStringName{
get{return_Name;}
}
publicintAge{
get{return_Age;}
}
publicboolIsGraduate{
get{return_IsGraduate;}
}
}
</script>
<html>
<head>
</head>
<body>
<formrunat="server">
<asp:DataGridid="MyDataGrid"runat="server"AutoGenerateColumns="False">
<ItemStyleverticalalign="Top"></ItemStyle>
<Columns>
<asp:BoundColumnDataField="Name"HeaderText="Name"></asp:BoundColumn>
<asp:TemplateColumnHeaderText="Age">
<ItemTemplate>
<asp:TextBoxid="AgeField"Columns="5"Text='<%#DataBinder.Eval(Container.DataItem,"Age")%>'
runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="Graduate">
<ItemTemplate>
<asp:CheckBoxid="IsGraduateField"Checked='<%#(bool)DataBinder.Eval(Container.DataItem,"IsGraduate")%>'
runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="Skills">
<ItemTemplate>
<asp:CheckBoxListid="CheckBoxList1"runat="server">
<asp:ListItemValue="C#"Selected="true">C#</asp:ListItem>
<asp:ListItemValue="C++">C++</asp:ListItem>
<asp:ListItemValue="VB">VB</asp:ListItem>
<asp:ListItemValue="SQLServer"Selected="true">SQLServer</asp:ListItem>
</asp:CheckBoxList>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="Experience">
<ItemTemplate>
<asp:RadioButtonListid="RadioButtonList1"runat="server">
<asp:ListItemValue="1"Selected="true">Lessthen1Year</asp:ListItem>
<asp:ListItemValue="3">Lessthen3Year</asp:ListItem>
<asp:ListItemValue="5">Lessthen5Year</asp:ListItem>
<asp:ListItemValue="10">Lessthen10Year</asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumnHeaderText="Degree">
<ItemTemplate>
<asp:DropDownListid="DropDownList1"runat="server">
<asp:ListItemValue="HighSchool">HighSchool</asp:ListItem>
<asp:ListItemValue="Graduate"Selected="true">Graduate</asp:ListItem>
<asp:ListItemValue="Masters">Masters</asp:ListItem>
<asp:ListItemValue="PHD">PHD</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<br/>
<asp:Buttonid="GetValues"onclick="GetValues_Click"runat="server"Text="GetValues"></asp:Button>
<br/>
<asp:Labelid="ResultField"runat="server"></asp:Label>
</form>
</body>
</HTML>
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net文件操作技巧汇总》、《asp.netajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。