下面的代码就是把数据库中的IP地址给格式化了。然后在显示的时候在格式化了。
代码条件:
一个dataGridview
实现一个CellFormatting
private void Form1_Load(object sender, EventArgs e)
{
//SqlConnection sc = new SqlConnection(scsb.ConnectionString);
//sc.Open();
//SqlDataAdapter sda = new SqlDataAdapter("SELECT IP_ADDR FROM TABLE1", sc);
DataTable dt = new DataTable();
//sda.Fill(dt);
//上面是获得数据库的过程 。忽略。
dt.Columns.Add("IP_ADDR");
dt.Rows.Add("192.168.0.21");
dt.Rows.Add("192.168.0.5");
dt.Rows.Add("192.168.0.8");
dt.Rows.Add("192.168.0.9");
dt.Rows.Add("192.168.0.10");
dt.Rows.Add("192.168.0.68");
TranmitIP(ref dt);
dataGridView1.DataSource = dt;
}
private void TranmitIP(ref DataTable dt)
{
for (int i = 0; i < dt.Rows.Count;i++ )
{
String strTemp = dt.Rows[i][0].ToString();
String[] strArrTemp = strTemp.Split('.');
for (int j = 0; j<strArrTemp.Length; j++)
{
strArrTemp[j] = "0x" + Convert.ToInt32(strArrTemp[j]).ToString("X2"); ;
strArrTemp[j] += ".";
}
strArrTemp[strArrTemp.Length - 1] = strArrTemp[strArrTemp.Length - 1].Substring(0, strArrTemp[strArrTemp.Length - 1].Length - 1);
dt.Rows[i][0] = String.Concat(strArrTemp );
}
}
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.Value == null)
{
return;
}
String strTemp = e.Value.ToString();
IPAddress a = IPAddress.Parse(strTemp);
e.Value = a.ToString();
}