嗨,我正在使用datagridview在c#中创建一个表单,并且我有一个类Option
public class Option
{
public string Description;
public string scores;
}
所以现在我将多个选项加载到datagridview中,看起来像这样
|Description|Scores|
A 1-2
B 3-4
C 5-6
D 7
我想让用户仅通过单击单元格就可以选择分数,但是由于一个描述可以具有2个不同的分数,所以我最多只能做一个单独的滑块或复选框区域供他们选择分数。我想要做的是根据该描述的分数将分数单元划分为不同的行。所以描述中的1行在分数列中可能有2行,这可能吗?之后,我将仅使用DGV.SelectedCell来根据用户选择来检索和计算分数
|Description|Score|
| | 1 |
| A |-----|
| | 2 |
|-----------------|
| | 3 |
| B |-----|
| | 4 |
|-----------------|
| | 5 |
| C |-----|
| | 6 |
|-----------------|
| D | 7 |
|-----------------|
编辑我的代码
Dictionary<int,Option> Question = new Dictionary<int,option>();
//created dictionary of options for a question
DataTable DT = new DataTable();
DT.Columns.Add("Description");
DT.Columns.Add("Scores");
foreach (KeyValuePair<int, Option> item in Question)
{ DataRow dr = DT.NewRow();
Option Opt = item.Value;
dr["Description"] = opt.Description;
dr["Scores"] = opt.scores;
}
然后我将DGV源设置为数据表
答案 0 :(得分:1)
我在移动设备上,并且没有IDE,因此如果无法立即进行编译,请原谅我,您需要稍作调整以使其正常工作:
string score = dr["Weightage"].Text; //save current value from "Weightage"
string[] scores = score.split('-'); //splits it into 2 parts
DT.Columns.Remove("Weightage"); //remove old column
DT.Columns.Add("WeightageA"); //create new columns
DT.Columns.Add("WeightageB");
dr["WeightageA"] = scores[0]; //set column values
dr["WeightageB"] = scores[1];