[英]Adding row to gridview using button in c# winform and sql server
我正在从事有关学生评分系统的项目。 我被困于ı将在下面显示:
STUDENT ID : 12345
STUDENT NAME : ALEXIA
LESSONS : GRADE 1 GRADE 2 AVERAGE LIMIT RESULT
PHYSICS 40 80 60 50 PASS
CALCULUS 20 10 15 50 FAIL
Add new lesson
New list should be ; (assume we add Sport as new lesson on the list)
LESSONS : GRADE 1 GRADE 2 AVERAGE LIMIT RESULT
PHYSICS 40 80 60 50 PASS
CALCULUS 20 10 15 50 FAIL
SPORT 100 100 100 50 PASS
add new lesson (line)
我将这些数据保存到数据库,然后将所有数据以新形式列出;
STUDENT NAME : ALEXIA
LESSONS GRADE RESULT
PHYSICS 60 PASS
CALCULUS 15 FAIL
SPORT 100 PASS
我如何在这里发展这样的结构。 我可以使用网格还是列表
忠告将不胜感激
如果您正在寻找简单的操作,例如通过按下按钮和一些文本框或将某些新内容添加到gridview,请尝试以下操作
DataGridViewRow row = (DataGridViewRow)yourDataGridView.Rows[0].Clone();
row.Cells["LESSONS"].Value = yourtextbox.text;
row.Cells["Grade"].Value = yourtextbox1.text;
row.Cells["Result"].Value = yourtextbox1.text;
yourDataGridView.Rows.Add(row);
1st想为未读内容表示歉意,现在我看到的是Winforms,只需在解决方案资源管理器中右键单击您的项目,然后选择“添加新用户控件”即可。 实际上,这使您可以从许多不同的对象中进行选择,但是用户控件是您想要的。 当您添加用户控件时,它应该为您提供一个带有面板的新设计器窗口,您可以在其中单独放置常规控件。 如果然后返回到表单,则会在工具箱中看到一个包含新控件的新部分。 您可以像使用任何其他控件一样使用它,包括动态创建它并将其添加到表单上的flowlayoutpanel。
然后在datagrid上添加例如这样的一行
public DataTable GetResultsTable()
{
DataTable table = new DataTable();
table.Columns.Add("Name".ToString());
table.Columns.Add("Color".ToString());
DataRow dr = table.NewRow();
dr["Lesson"] = "Programing";
dr["Calculus"] = "99";
dr["result"] = "pass";
table.Rows.Add(dr);
return table;
}
public void gridview()
{
datagridview1.DataSource = GetResultsTable();
}
希望这次我能以正确的方式帮助您,伴侣,祝您好运
我不知道这是不是我假装的,但是,让我们看看。
对于我能理解的你想要这样的东西
STUDENT NAME : ALEXIA
LESSONS GRADE RESULT
PHYSICS 60 PASS
CALCULUS 15 FAIL
SPORT 100 PASS
因此,您基本上可以创建一个html表结构并使用
<%#(DataBinder.Eval(Container,“ DataItem.username”))%>绑定数据库中的项目
现在回答您可能的问题:
但是我想要3、4或100个这样的结构,具体取决于我从db获得的结构数。
轻松配合,将您的结构放在转发器中,然后将数据源添加到转发器中,您将根据数据获得结构。
但是我没有物理学,微积分或运动,我可以增加更多。
只需在中继器中使用另一个类似这样的中继器
<td> <%#(DataBinder.Eval(Container, "DataItem.Title")) %></td><td> <%#(DataBinder.Eval(Container, "DataItem.Grade")) %></td><td> <%#(DataBinder.Eval(Container, "DataItem.Result")) %></td>
* PS:请记住,我使用的数据只是示例...
访问中继器内部的中继器有问题吗? 使用这样的东西
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
var data = ((MyClass)e.Item.DataItem).Subcategories;
var repeater2 = (Repeater)e.Item.FindControl("Repeater2");
repeater2.DataSource = data;
repeater2.DataBind();
}
不知道这是您要查找的内容,但希望它能以任何方式提供帮助。 祝好运
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.