ASP.NET中访问DataGrid中所有控件值的方法

前端技术 2023/09/01 .NET

本文实例讲述了ASP.NET中访问DataGrid中所有控件值的方法。分享给大家供大家参考,具体如下:

<%@ Page Language=\"C#\" %>
<%@ import Namespace=\"System.Collections\" %>
<script runat=\"server\">
void Page_Load(Object sender, EventArgs e) {
if(!Page.IsPostBack){
ArrayList data = new ArrayList();
data.Add(new Person(\"Tom\",33,true));
data.Add(new Person(\"Jhon\",39,false));
data.Add(new Person(\"Mark\",20,false));
data.Add(new Person(\"Linda\",27,true));
MyDataGrid.DataSource = data;
MyDataGrid.DataBind();
}
}
void GetValues_Click(Object sender, EventArgs e) {
String Result = \"\";
foreach(DataGridItem dataGridItem in MyDataGrid.Items){
//Get name from cell[0]
String Name = dataGridItem.Cells[0].Text;
//Get text from textbox in cell[1]
String Age = ((TextBox)dataGridItem.FindControl(\"AgeField\")).Text;
//Get Checked property of Checkbox control
bool IsGraduate = ((CheckBox)dataGridItem.FindControl(\"IsGraduateField\")).Checked;
// get Values from Checkboxlist
String Skills = \"\";
foreach(ListItem item in ((CheckBoxList)dataGridItem.FindControl(\"CheckBoxList1\")).Items){
if (item.Selected){
Skills += item.Value + \",\";
}
}
Skills = Skills.TrimEnd(\',\');
//Get RadioButtonList Selected text
String Experience = ((RadioButtonList)dataGridItem.FindControl(\"RadioButtonList1\")).SelectedItem.Text;
//Get DropDownList Selected text
String Degree = ((DropDownList)dataGridItem.FindControl(\"DropDownList1\")).SelectedItem.Text;
// Build String to show result.
Result += Name;
Result += \" [Age -\" + Age + \"] \";
if (IsGraduate){
Result += \"Is Graduate , \";
}else{
Result += \"Is not Graduate , \";
}
Result += \"Has Skills[\" + Skills + \"] , \";
Result += \"Has \" + Experience + \" Experience , And \" ;
Result += \"Has \" + Degree + \" Degree.\" ;
Result += \"<br>\";
}
ResultField.Text = Result;
}
class Person{
String _Name;
int _Age;
bool _IsGraduate;
public Person(String name,int age, bool isGraduate){
_Name = name;
_Age = age;
_IsGraduate = isGraduate;
}
public String Name{
get{return _Name;}
}
public int Age{
get{return _Age;}
}
public bool IsGraduate{
get{return _IsGraduate;}
}
}
</script>
<html>
<head>
</head>
<body>
<form runat=\"server\">
<asp:DataGrid id=\"MyDataGrid\" runat=\"server\" AutoGenerateColumns=\"False\">
<ItemStyle verticalalign=\"Top\"></ItemStyle>
<Columns>
<asp:BoundColumn DataField=\"Name\" HeaderText=\"Name\"></asp:BoundColumn>
<asp:TemplateColumn HeaderText=\"Age\">
<ItemTemplate>
<asp:TextBox id=\"AgeField\" Columns=\"5\" Text=\'<%# DataBinder.Eval(Container.DataItem,\"Age\") %>\'
 runat=\"server\"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText=\"Graduate\">
<ItemTemplate>
<asp:CheckBox id=\"IsGraduateField\" Checked=\'<%# (bool)DataBinder.Eval(Container.DataItem,\"IsGraduate\") %>\'
 runat=\"server\"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText=\"Skills\">
<ItemTemplate>
<asp:CheckBoxList id=\"CheckBoxList1\" runat=\"server\" >
<asp:ListItem Value=\"C#\" Selected=\"true\">C#</asp:ListItem>
<asp:ListItem Value=\"C++\">C++</asp:ListItem>
<asp:ListItem Value=\"VB\">VB</asp:ListItem>
<asp:ListItem Value=\"SQL Server\" Selected=\"true\">SQL Server</asp:ListItem>
</asp:CheckBoxList>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText=\"Experience\">
<ItemTemplate>
<asp:RadioButtonList id=\"RadioButtonList1\" runat=\"server\" >
<asp:ListItem Value=\"1\" Selected=\"true\">Less then 1 Year</asp:ListItem>
<asp:ListItem Value=\"3\">Less then 3 Year</asp:ListItem>
<asp:ListItem Value=\"5\">Less then 5 Year</asp:ListItem>
<asp:ListItem Value=\"10\">Less then 10 Year</asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText=\"Degree\">
<ItemTemplate>
<asp:DropDownList id=\"DropDownList1\" runat=\"server\" >
<asp:ListItem Value=\"HighSchool\" >HighSchool</asp:ListItem>
<asp:ListItem Value=\"Graduate\" Selected=\"true\">Graduate</asp:ListItem>
<asp:ListItem Value=\"Masters\">Masters</asp:ListItem>
<asp:ListItem Value=\"PHD\">PHD</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<br />
<asp:Button id=\"GetValues\" onclick=\"GetValues_Click\" runat=\"server\" Text=\"GetValues\"></asp:Button>
<br />
<asp:Label id=\"ResultField\" runat=\"server\"></asp:Label>
</form>
</body>
</HTML>

更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。

希望本文所述对大家asp.net程序设计有所帮助。

本文地址:https://www.stayed.cn/item/3042

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。