我有两个文本框,用户可以在其中输入No of Rows
和No of Columns
。
缩写为"A-Z"
因此,如果用户输入
第一个文本框--- 5
第二个文本框--- 5
并选择abbr为“A-Z”
因此在gridview中它应显示为
任何想法都会建议如何开始。
答案 0 :(得分:1)
您可以使用DataTable
作为DataSource
并以这种方式填写:
protected void btnDisplay_Click(object sender, EventArgs e)
{
// use CompareValidators for the two TextBoxes for rows and columns
// with it's Operator property set to DataTypeCheck and Type="Integer"
int rows = int.Parse(txtNoOfRowsRC.Text);
int columns = int.Parse(txtNoOfColRC.Text);
grdBinDefinitionDisplay.DataSource = GetDataSource(rows, columns);
grdBinDefinitionDisplay.DataBind();
}
protected DataTable GetDataSource(int rows, int columns)
{
DataTable table = new DataTable();
for (int c = 1; c <= columns; c++)
table.Columns.Add("Column " + c.ToString());
for (int r = 1; r <= rows; r++)
{
DataRow row = table.Rows.Add();
foreach (DataColumn col in table.Columns)
{
string value = string.Format("{0}{1}{2}", IntToLetters(r), r, col.Ordinal + 1);
row.SetField(col, value);
}
}
return table;
}
我使用此方法为行号生成字母(奖励here):
public static string IntToLetters(int value)
{
string result = string.Empty;
while (--value >= 0)
{
result = (char)('A' + value % 26) + result;
value /= 26;
}
return result;
}
这处理缩写为“A-Z”的情况,你没有提到任何其他。