2
我有一個顯示自定義查詢結果的gridview。列數是未知的,並且綁定的DataTable是否包含布爾列是未知的。包含布爾值的列的標題也是未知的。asp.net GridView替換動態GridView中的是/否複選框
事先不知道這些信息,有沒有辦法可以用簡單的Yes/No替換複選框?
對於預定義列,這看起來相當簡單,但在這種情況下並不多。
我有一個顯示自定義查詢結果的gridview。列數是未知的,並且綁定的DataTable是否包含布爾列是未知的。包含布爾值的列的標題也是未知的。asp.net GridView替換動態GridView中的是/否複選框
事先不知道這些信息,有沒有辦法可以用簡單的Yes/No替換複選框?
對於預定義列,這看起來相當簡單,但在這種情況下並不多。
我在發佈問題後不久就想出了一個解決方案。我落得這樣做是:
這裏是它是怎麼做的代碼:
DataTable Clone = ResultsTable.Clone();
for (int i = 0; i < Clone.Columns.Count; i++)
{
Clone.Columns[i].DataType = typeof(string);
}
foreach (DataRow row in ResultsTable.Rows)
{
DataRow r = null;
object[] ItemArray = row.ItemArray;
for (int i = 0; i< ItemArray.Length; i++)
{
if (ItemArray[i].ToString() == "True") ItemArray[i] = "Yes";
if (ItemArray[i].ToString() == "False") ItemArray[i] = "No";
}
r = Clone.NewRow();
r.ItemArray = ItemArray;
Clone.Rows.Add(r);
}
這個概念應該是適用於類似數據表中的文本轉換爲好。