[英]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.